Wiki source code of form-elements
Version 2.75 by Jip-jan Alunkel on março 31, 18:16
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity}} | ||
2 | #macro(createFormStart $id $product) | ||
3 | <form action="" id="${id}" method="post" class="formMaker" data-form-product="${product}" novalidate="novalidate"> | ||
4 | #end | ||
5 | |||
6 | #macro(createFormEnd) | ||
7 | <div role="alert" class="form-response-output form-validation-errors" style="display: none"> | ||
8 | <p> | ||
9 | $services.localization.render('formMaker.line.global_error_msg') | ||
10 | </p> | ||
11 | </div> | ||
12 | <div role="alert" class="form-response-output form-validation-ok" style="display: none"> | ||
13 | <p> | ||
14 | $services.localization.render('formMaker.line.global_ok_msg') | ||
15 | </p> | ||
16 | </div> | ||
17 | </form> | ||
18 | #end | ||
19 | |||
20 | #macro(createFormElement $elementDataObj) | ||
21 | #set($elementType = $elementDataObj.type) | ||
22 | #set($elementTagName = '') | ||
23 | #set($requiredAttributes = 'aria-required="false"') | ||
24 | #set($requiredCSSClass = '') | ||
25 | #set($addedCSSClass = '') | ||
26 | #set($hint = '') | ||
27 | #if($elementDataObj.required == "yes") | ||
28 | #set($requiredCSSClass = ' class="required"') | ||
29 | #end | ||
30 | #if($elementType == "select") | ||
31 | #set($addedCSSClass = " select-wrap") | ||
32 | #set($elementTagName = "select") | ||
33 | #elseif($elementType == "text" || $elementType == "number" || $elementType == "range" || $elementType == "email") | ||
34 | #set($elementTagName = "input") | ||
35 | #elseif($elementType == "checkbox" || $elementType == "radio") | ||
36 | #set($addedCSSClass = " checkradio") | ||
37 | #set($elementTagName = "checkradio") | ||
38 | #elseif($elementType == "textarea") | ||
39 | #set($elementTagName = "textarea") | ||
40 | #else | ||
41 | #set($hint = "This type of element does not exist, read the manual for more information about element types.") | ||
42 | #end | ||
43 | #if($elementTagName == "select" || $elementTagName == "input" || $elementTagName == "textarea") | ||
44 | <p${requiredCSSClass}> | ||
45 | <label for="${elementDataObj.id}_${elementTagName}"> | ||
46 | $elementDataObj.label | ||
47 | <span class="input-wrap${addedCSSClass}"> | ||
48 | #if($elementTagName == "select") | ||
49 | #createSelectElement($elementDataObj $elementTagName $requiredAttributes) | ||
50 | #elseif($elementTagName == "textarea") | ||
51 | #else | ||
52 | #if($elementType == "text") | ||
53 | #createTextElement($elementDataObj $elementType $requiredAttributes) | ||
54 | #elseif($elementType == "number") | ||
55 | #elseif($elementType == "email") | ||
56 | #elseif($elementType == "range") | ||
57 | #end | ||
58 | #end | ||
59 | #if($elementDataObj.help-block != "") | ||
60 | <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span> | ||
61 | #end | ||
62 | #if($elementDataObj.required == "yes") | ||
63 | <span class="required-input-field" title="Required input"></span> | ||
64 | <span role="alert" class="form-not-valid-tip"></span> | ||
65 | #end | ||
66 | </span> | ||
67 | </label> | ||
68 | </p> | ||
69 | #end | ||
70 | #if($elementTagName == "checkradio") | ||
71 | <p${requiredCSSClass}> | ||
72 | <span class="input-wrap${addedCSSClass}"> | ||
73 | <span class="fieldset no-fieldset-border"> | ||
74 | <label for="${elementDataObj.id}_${elementTagName}" class="strong"> | ||
75 | #if($elementType == "checkbox") | ||
76 | |||
77 | #createCheckboxElement($elementDataObj) | ||
78 | |||
79 | #elseif($elementType == "radio") | ||
80 | #end | ||
81 | </label> | ||
82 | </span> | ||
83 | </span> | ||
84 | </p> | ||
85 | #end | ||
86 | #if($hint != "") | ||
87 | <p class="box errormessage">${hint}</p> | ||
88 | #end | ||
89 | #end | ||
90 | |||
91 | ##if($O_elementData.required == "yes") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end | ||
92 | #macro(createSelectElement $O_elementData $O_tagName) | ||
93 | <select class="form-select form-control" aria-label="${O_elementData.aria-label}" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "yes") 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}" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}"> | ||
94 | <option value="" disabled="" selected="" hidden="hidden">${O_elementData.placeholder}</option> | ||
95 | #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")) | ||
96 | #set($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%')) | ||
97 | #set($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code')) | ||
98 | #set($query = $query.bindValue('space', $spaceLikeRef)) | ||
99 | #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef)) | ||
100 | #set($results = $query.addFilter('unique').execute()) | ||
101 | #foreach ($item in $results) | ||
102 | #set ($document = $xwiki.getDocument($item)) | ||
103 | <option value="$document.space">$document.getTitle()</option> | ||
104 | #end | ||
105 | </select> | ||
106 | #end | ||
107 | |||
108 | #macro(createTextElement $O_elementData $O_tagName) | ||
109 | <input type="text" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off" placeholder="${O_elementData.placeholder}" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "yes") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end aria-label="${O_elementData.aria-label}"#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-suggest-list-header) data-suggest-list-header="${O_elementData.data-suggest-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-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#if($O_elementData.data-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"')#end> | ||
110 | #end | ||
111 | |||
112 | #macro(createCheckboxElement $O_elementData) | ||
113 | <input type="checkbox" name="${O_elementData.id}" id="${O_elementData.id}" data-mod-display="${O_elementData.id}" value="${O_elementData.value}"#if($O_elementData.required == "yes") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end>$O_elementData.label | ||
114 | #end | ||
115 | |||
116 | #macro(createExpandStart $id $value) | ||
117 | <div id="${id}_section_${value}" class="togglee"> | ||
118 | #end | ||
119 | |||
120 | #macro(createExpandEnd) | ||
121 | </div> | ||
122 | #end | ||
123 | |||
124 | {{/velocity}} |