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