Codice sorgente Wiki di form-elements

Version 2.28 by Jip-jan Alunkel on marzo 26, 00:03

Show last authors
1 {{velocity}}
2 #macro(createFormElement $elementDataObj)
3 #set($elementType = $elementDataObj.type)
4 #set($elementGroupName = "")
5 #set($requiredAttributes = 'aria-required="false"')
6 #set($requiredCSSClass = '')
7 #set($addedCSSClass = '')
8 #if($O_elementData.required == true)
9 #set($requiredAttributes = 'aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"')
10 #set($requiredCSSClass = ' class="required"')
11 #end
12 #if($elementType == "select")
13 #set($addedCSSClass = " select-wrap")
14 #set($elementGroupName = "select")
15 #elseif($elementType == "text" || $elementType == "number" || $elementType == "range" || $elementType == "email")
16 #set($elementGroupName = "input")
17 #elseif($elementType == "checkbox" || $elementType == "radio")
18 #set($elementGroupName = "checkradio")
19 #elseif($elementType == "textarea")
20 #set($elementGroupName = "textarea")
21 #else
22 #set($hint = "This type of element does not exist, read the manual for more information about element types.")
23 #end
24 #if($elementGroupName == "select" || $elementGroupName == "input" || $elementGroupName == "textarea")
25 <p${requiredCSSClass}>
26 <label for="${elementDataObj.id}_${elementGroupName}">
27 $elementDataObj.label
28 <span class="input-wrap${addedCSSClass}">
29 #if($elementGroupName == "select")
30 #createSelectElement($elementDataObj $elementGroupName $requiredAttributes)
31 #elseif($elementGroupName == "textarea")
32 #else
33 #if($elementType == "text")
34 #createTextElement($elementDataObj $elementGroupName)
35 #elseif($elementType == "number")
36 #elseif($elementType == "email")
37 #elseif($elementType == "range")
38 #end
39 #end
40 #if($elementDataObj.help-block != "")
41 <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span>
42 #end
43 #if($elementDataObj.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 </p>
50 #end
51 #if($elementGroupName == "checkradio")
52 #if($elementType == "checkbox")
53 #elseif($elementType == "radio")
54 #end
55 #end
56 #if($hint != "")
57 <p class="box errormessage">${hint}</p>
58 #end
59 #end
60
61 #macro(createSelectElement $O_elementData $O_groupName $O_requiredAttributes)
62 {{html}}
63 <select class="form-select form-control" aria-label="${O_elementData.aria-label}" aria-describedby="${O_elementData.id}_helpBlock" ${O_requiredAttributes}data-set-space="${O_elementData.data-set-space}" name="${O_elementData.id}_${groupName}" id="${O_elementData.id}_${groupName}">
64 <option value="" disabled="" selected="" hidden="hidden">$services.localization.render(${O_elementData.placeholder})</option>
65 #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"))
66 #set($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%'))
67 #set($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code'))
68 #set($query = $query.bindValue('space', $spaceLikeRef))
69 #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef))
70 #set($results = $query.addFilter('unique').execute())
71 #foreach ($item in $results)
72 #set ($document = $xwiki.getDocument($item))
73 <option value="$document.space">$document.getTitle()</option>
74 #end
75 </select>
76 {{/html}}
77 #end
78 #macro(createTextElement $O_elementData $O_groupName $O_requiredAttributes)
79 #set($dataAttributes = '')
80 #if($O_elementData.data-query-type) #set($dataAttributes = '${dataAttributes} data-query-type="${O_elementData.data-query-type}"')#end
81 #if($O_elementData.data-query-list-type) #set($dataAttributes = '${dataAttributes} data-query-list-type="${O_elementData.data-query-list-type}"')#end
82 #if($O_elementData.data-query-list-contents) #set($dataAttributes = '${dataAttributes} data-query-list-contents="${O_elementData.data-query-list-contents}"')#end
83 #if($O_elementData.data-create-page) #set($dataAttributes = '${dataAttributes} data-create-page="${O_elementData.data-create-page}"')#end
84 #if($O_elementData.data-query-scope) #set($dataAttributes = '${dataAttributes} data-query-scope="${O_elementData.data-query-scope}"')#end
85 #if($O_elementData.data-create-xobj) #set($dataAttributes = '${dataAttributes} data-create-xobj="${O_elementData.data-create-xobj}"')#end
86 #if($O_elementData.data-xobj-classname) #set($dataAttributes = '${dataAttributes} data-xobj-classname="${O_elementData.data-xobj-classname}"')#end
87 #if($O_elementData.data-xobj-fieldname) #set($dataAttributes = '${dataAttributes} data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"')#end
88 #if($O_elementData.data-query-list-editable) #set($dataAttributes = '${dataAttributes} data-query-list-editable="${O_elementData.data-query-list-editable}"')#end
89 {{html}}
90 <input type="text" class="form-control full" name="${O_elementData.id}_${O_groupName}" id="${O_elementData.id}_${O_groupName}" autocomplete="off" placeholder="$services.localization.render(${O_elementData.placeholder})" aria-describedby="${O_elementData.id}_helpBlock"${O_requiredAttributes} aria-label="${O_elementData.aria-label}"${dataAttributes}>
91 {{/html}}
92 #end
93
94 {{/velocity}}