Wiki broncode van Macros
Version 2.256 by Jip-jan Alunkel on juli 18, 17:48
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity}} | ||
2 | #macro(createFormStart $id $product) | ||
3 | <form action="" id="${id}" method="post" class="pagemaker" data-form-product="${product}" novalidate="novalidate"> | ||
4 | #end | ||
5 | #macro(createFormEnd) | ||
6 | <div role="alert" class="form-response-output form-validation-errors" style="display: none"> | ||
7 | <p> | ||
8 | $services.localization.render('pagemaker.line.global_error_msg') | ||
9 | </p> | ||
10 | </div> | ||
11 | <div role="alert" class="form-response-output form-validation-ok" style="display: none"> | ||
12 | <p> | ||
13 | $services.localization.render('pagemaker.line.global_ok_msg') | ||
14 | </p> | ||
15 | </div> | ||
16 | </form> | ||
17 | #end | ||
18 | #macro(createFormElement $elementDataObj) | ||
19 | #set($elementType = $elementDataObj.type) | ||
20 | #set($elementTagName = '') | ||
21 | #set($requiredCSSClass = '') | ||
22 | #set($makeFocusable = '') | ||
23 | #set($addedCSSClass = '') | ||
24 | #set($hint = '') | ||
25 | #set($placeholder = '') | ||
26 | #if($elementDataObj.required == 'true') | ||
27 | #set($requiredCSSClass = ' class="required"') | ||
28 | #end | ||
29 | #if($elementDataObj.data-query-type) | ||
30 | #set($makeFocusable = ' tabindex="-1"') | ||
31 | #end | ||
32 | #if($elementType == "select") | ||
33 | #set($addedCSSClass = " select-wrap") | ||
34 | #set($elementTagName = "select") | ||
35 | #elseif($elementType == "text" || $elementType == "number" || $elementType == "range" || $elementType == "email" || $elementType == "password" || $elementType == "date" || $elementType == "tel" || $elementType == "url" || $elementType == "color") | ||
36 | #set($elementTagName = "input") | ||
37 | #elseif($elementType == "checkbox" || $elementType == "radio") | ||
38 | #set($addedCSSClass = " checkradio") | ||
39 | #set($elementTagName = "checkradio") | ||
40 | #elseif($elementType == "textarea") | ||
41 | #set($elementTagName = "textarea") | ||
42 | #elseif($elementType == "captcha") | ||
43 | #createCaptcha($elementDataObj) | ||
44 | #else | ||
45 | #set($hint = "This type of element does not exist, read the manual for more information about element types.") | ||
46 | #end | ||
47 | #if($elementTagName == "select" || $elementTagName == "input" || $elementTagName == "textarea") | ||
48 | <p${requiredCSSClass}${makeFocusable}> | ||
49 | <label for="${elementDataObj.id}"> | ||
50 | $elementDataObj.label | ||
51 | <span class="input-wrap${addedCSSClass}"> | ||
52 | #if($elementTagName == "select") | ||
53 | #createSelectElement($elementDataObj $elementTagName) | ||
54 | #elseif($elementTagName == "textarea") | ||
55 | #createTextareaElement($elementDataObj $elementTagName) | ||
56 | #else | ||
57 | #if($elementType == "text") | ||
58 | #createTextElement($elementDataObj $elementType) | ||
59 | #elseif($elementType == "number") | ||
60 | #if(!$elementDataObj.data-decimals)#set($elementDataObj.data-decimals = 0)#end | ||
61 | #if(!$elementDataObj.decimals-step)#set($elementDataObj.decimals-step = 1)#end | ||
62 | #createNumberElement($elementDataObj $elementType) | ||
63 | #elseif($elementType == "email") | ||
64 | #createEmailElement($elementDataObj $elementType) | ||
65 | #elseif($elementType == "password") | ||
66 | #createPasswordElement($elementDataObj $elementType) | ||
67 | #elseif($elementType == "range") | ||
68 | #if($elementDataObj.range-minmax) | ||
69 | #set($minmax = $elementDataObj.range-minmax.split('-')) | ||
70 | #if($minmax.size() == 2) | ||
71 | #set($elementDataObj.range-min = $minmax[0]) | ||
72 | #set($elementDataObj.range-max = $minmax[1]) | ||
73 | #end | ||
74 | #else | ||
75 | #set($elementDataObj.range-min = 0) | ||
76 | #set($elementDataObj.range-max = 100) | ||
77 | #end | ||
78 | #createRangeElement($elementDataObj $elementType) | ||
79 | #elseif($elementType == "date") | ||
80 | #createDateElement($elementDataObj $elementType) | ||
81 | #elseif($elementType == "color") | ||
82 | #createColorElement($elementDataObj $elementType) | ||
83 | #elseif($elementType == "tel") | ||
84 | #createTelElement($elementDataObj $elementType) | ||
85 | #elseif($elementType == "url") | ||
86 | #createUrlElement($elementDataObj $elementType) | ||
87 | #end | ||
88 | #end | ||
89 | #if($elementDataObj.help-block && $elementDataObj.help-block != "") | ||
90 | <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span> | ||
91 | #end | ||
92 | #if($elementDataObj.required == "true") | ||
93 | <span class="required-input-field" title="Required input"></span> | ||
94 | #end | ||
95 | <span role="alert" class="form-not-valid-tip"></span> | ||
96 | </span> | ||
97 | </label> | ||
98 | </p> | ||
99 | #end | ||
100 | #if($elementTagName == "checkradio") | ||
101 | <p${requiredCSSClass}> | ||
102 | <span class="input-wrap${addedCSSClass}"> | ||
103 | <span class="fieldset no-fieldset-border"> | ||
104 | <label for="${elementDataObj.id}"#* class="strong"*#> | ||
105 | #if($elementType == "checkbox") | ||
106 | #createCheckboxElement($elementDataObj) | ||
107 | #elseif($elementType == "radio") | ||
108 | #end | ||
109 | </label> | ||
110 | </span> | ||
111 | </span> | ||
112 | </p> | ||
113 | #end | ||
114 | #if($hint != "") | ||
115 | <p class="box errormessage">${hint}</p> | ||
116 | #end | ||
117 | #end | ||
118 | |||
119 | #macro(createSelectElement $O_elementData $O_tagName) | ||
120 | <select class="form-select form-control"#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-opener) data-opener="${O_elementData.data-opener}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if(${O_elementData.data-set-space}) data-set-space="${O_elementData.data-set-space}"#end#if($O_elementData.data-select-spaces-to-json) data-select-spaces-to-json="${O_elementData.data-select-spaces-to-json}"#end name="${O_elementData.id}" id="${O_elementData.id}"> | ||
121 | #if($O_elementData.placeholder) | ||
122 | #if($O_elementData.select-json && $O_elementData.select-json.keySet().contains($O_elementData.value)) | ||
123 | #else | ||
124 | <option value="" disabled=""#if(!$O_elementData.value) selected=""#end hidden="hidden">${O_elementData.placeholder}</option> | ||
125 | #end | ||
126 | #end | ||
127 | #set($mydoc = $xwiki.getDocument('assets.pagemaker.pagemakerClass')) | ||
128 | #if($mydoc.isNew() && $hasProgramming) | ||
129 | #set ($myinternaldoc = $mydoc.getDocument()) | ||
130 | #set ($myclass = $myinternaldoc.getXClass()) | ||
131 | #set ($discard = $myclass.addTextField("pmSpaceOrder", "pageMaker space order", 10)) | ||
132 | #set ($discard = $mydoc.save()) | ||
133 | #end | ||
134 | #set($removedNr = 0) | ||
135 | |||
136 | #if($O_elementData.select-space-reference) | ||
137 | #set($space = $O_elementData.select-space-reference) | ||
138 | #set($codespace = "") | ||
139 | #if($xwiki.getSpaces().contains("${space}.${space}Code")) | ||
140 | #set($codespace = "${space}Code") | ||
141 | #elseif($xwiki.getSpaces().contains("${space}.Code")) | ||
142 | #set($codespace = "Code") | ||
143 | #elseif($xwiki.getSpaces().contains("${space}.code")) | ||
144 | #set($codespace = "code") | ||
145 | #end | ||
146 | |||
147 | #if(!$isGuest) | ||
148 | ## Add XObjects to current child spaces so the spaces can be queried on the XObject to generate the select options. | ||
149 | #set($nameExcludeRef = $codespace) | ||
150 | #set($spaceAbsRef = $space.replaceAll('([%_!])', '!$1')) | ||
151 | #set($query_add_xobj = $services.query.xwql("select space.name from XWikiSpace as space where space.parent = :space and space.name <> :nameExclude and space.name <> 'WebPreferences' order by space.name")) | ||
152 | #set($result_add_xobj = $query_add_xobj.bindValue('space', $spaceAbsRef).bindValue('nameExclude', $nameExcludeRef).addFilter('unique').execute()) | ||
153 | #foreach($item in $result_add_xobj) | ||
154 | #set($doc = $xwiki.getDocument("${space}.${item}.WebHome")) | ||
155 | #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass", true)) | ||
156 | #set($discard = $rightXObj.set('pmSpaceOrder', $foreach.count)) | ||
157 | #set($discard = $doc.save()) | ||
158 | #end | ||
159 | #end | ||
160 | |||
161 | #set($spaceExcludeRef = $space.replaceAll('([%_!])', '!$1').concat(".${codespace}")) | ||
162 | #set($spaceLikeRef = $space.replaceAll('([%_!])', '!$1').concat('.%')) | ||
163 | #set($query = $services.query.xwql("from doc.object(assets.pagemaker.pagemakerClass) met where doc.space like :space and doc.space <> :spaceExclude and doc.name <> 'WebPreferences' order by met.pmSpaceOrder asc")) | ||
164 | #set($result = $query.bindValue('space', $spaceLikeRef).bindValue('spaceExclude', $spaceExcludeRef).addFilter('unique').execute()) | ||
165 | |||
166 | ## Generate the select options from all child spaces that have the 'assets.pagemaker.pagemakerClass' XClass. | ||
167 | ## The order is still random but the JSON can be extracted from the console with the 'select-spaces-to-json' attribute. | ||
168 | #foreach($item in $result) | ||
169 | #set($doc = $xwiki.getDocument($item)) | ||
170 | <option value="$doc.space">$doc.getTitle()</option> | ||
171 | #end | ||
172 | #elseif($O_elementData.select-json) | ||
173 | #set($json = {}) | ||
174 | #if($O_elementData.select-json.keySet()) | ||
175 | #set($json = $O_elementData.select-json) | ||
176 | #else | ||
177 | #set($jsondoc = $xwiki.getDocument($O_elementData.select-json)) | ||
178 | #set($jsoncontent = $jsontool.fromString($jsontool.serialize($jsondoc.getContent()))) | ||
179 | #set($json = $jsontool.parse($jsoncontent)) | ||
180 | #end | ||
181 | #foreach($key in $json.keySet()) | ||
182 | #if(!$isGuest && $O_elementData.select-json-to-spaces == "true") | ||
183 | #set($spaceDocTitle = $json.get($key)) | ||
184 | #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name. | ||
185 | #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object. | ||
186 | #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) | ||
187 | #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) | ||
188 | #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale. | ||
189 | #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title. | ||
190 | #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale. | ||
191 | #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. | ||
192 | #set($discard = $spaceDoc.save()) | ||
193 | #else | ||
194 | #if($title_error) ## Doc did exist but the title did not match with the JSON value. | ||
195 | #set($discard = $spaceDoc.setTitle($spaceDocTitle)) | ||
196 | #end | ||
197 | #if($order_error) ## Either the property does not exist or the value is incorrect. | ||
198 | #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. | ||
199 | #end | ||
200 | #if($title_error || $order_error) ## Save only if changed | ||
201 | #set($discard = $spaceDoc.save()) | ||
202 | #end | ||
203 | #end | ||
204 | #end | ||
205 | <option value="$key"#if($O_elementData.value=="$key") selected="selected"#end>$json[$key]</option> | ||
206 | #end | ||
207 | #end | ||
208 | </select> | ||
209 | #if($removedNr > 0) | ||
210 | $removedNr pages had the XObject ##${removeXObj}## removed. | ||
211 | #end | ||
212 | #end | ||
213 | #macro(createTextElement $O_elementData $O_tagName) | ||
214 | <input type="text" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-pattern) data-pattern="${O_elementData.data-pattern}"#end#if($O_elementData.data-auto-first-capital) data-auto-first-capital="${O_elementData.data-auto-first-capital}"#end#if($O_elementData.data-query-type) data-query-type="${O_elementData.data-query-type}" data-query-reference="${O_elementData.data-query-reference}"#end#if($O_elementData.data-query-list-type) data-query-list-type="${O_elementData.data-query-list-type}"#end#if($O_elementData.data-query-list-header) data-query-list-header="${O_elementData.data-query-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-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"#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> | ||
215 | #end | ||
216 | #macro(createNumberElement $O_elementData $O_tagName) | ||
217 | <input type="number" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end autocomplete="off" min="0" pattern="[0-9]*[.,]?[0-9]+" data-decimals="${O_elementData.data-decimals}" step="${O_elementData.decimal-step}"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#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-query-list-header) data-query-list-header="${O_elementData.data-query-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-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"#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> | ||
218 | #end | ||
219 | #macro(createEmailElement $O_elementData $O_tagName) | ||
220 | <input type="email" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end pattern="^[A-Za-z0-9._+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,63}$" autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#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> | ||
221 | #end | ||
222 | #macro(createPasswordElement $O_elementData $O_tagName) | ||
223 | <input type="password" class="form-control full password" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end#if($O_elementData.data-pattern) data-pattern="${O_elementData.data-pattern}"#end><span class="preview" title="$services.localization.render('pagemaker.multiword.show_hide_password')" data-content=""></span> | ||
224 | #end | ||
225 | #macro(createDateElement $O_elementData $O_tagName) | ||
226 | <input type="date" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end#if($O_elementData.date-min) min="${O_elementData.date-min}"#end#if($O_elementData.date-max) max="${O_elementData.date-max}"#end autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock" #if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#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> | ||
227 | #end | ||
228 | #macro(createColorElement $O_elementData $O_tagName) | ||
229 | <input type="color" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" value="#fffffe" autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#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> | ||
230 | #end | ||
231 | #macro(createRangeElement $O_elementData $O_tagName) | ||
232 | <input type="range" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end min="${O_elementData.range-min}" max="${O_elementData.range-max}"#if($O_elementData.range-step) step="${O_elementData.range-step}"#end autocomplete="off" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#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> | ||
233 | #end | ||
234 | #macro(createTelElement $O_elementData $O_tagName) | ||
235 | <input type="tel" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end autocomplete="off"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#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> | ||
236 | #end | ||
237 | #macro(createUrlElement $O_elementData $O_tagName) | ||
238 | <input type="url" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end autocomplete="off" pattern="https?://.*"#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#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> | ||
239 | #end | ||
240 | #macro(createCheckboxElement $O_elementData) | ||
241 | <input type="checkbox" name="${O_elementData.id}"#if($O_elementData.value=="1") checked="checked"#end value="1" id="${O_elementData.id}"#if($O_elementData.data-opener) data-opener="${O_elementData.data-opener}"#end#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end>$O_elementData.label | ||
242 | <input name="${O_elementData.id}" type="hidden"#if($O_elementData.value=="1") value="0"#else value="1"#end> | ||
243 | #end | ||
244 | #macro(createTextareaElement $O_elementData $O_tagName) | ||
245 | <textarea class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end#if($O_elementData.textarea-rows) rows="$O_elementData.textarea-rows"#end aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end></textarea> | ||
246 | #end | ||
247 | #macro(createCaptcha $O_elementData) | ||
248 | <p class="slideCaptcha-box"> | ||
249 | <label>Are you human? | ||
250 | <span class="input-wrap"> | ||
251 | <span class="slideCaptcha-track" id="slideCaptcha_track"> | ||
252 | <span class="slideCaptcha-slider" id="slideCaptcha_slider"></span> | ||
253 | </span> | ||
254 | <input type="hidden" id="slideCaptcha_answer" value="droid"> | ||
255 | </span> | ||
256 | </label> | ||
257 | </p> | ||
258 | #end | ||
259 | #macro(createExpandStart $opener $value) | ||
260 | <div id="${opener.id}_section_#if($value)${value}#else${opener.value}#end" class="togglee"> | ||
261 | #end | ||
262 | #macro(createExpandEnd) | ||
263 | </div> | ||
264 | #end | ||
265 | #macro(createSubmit $O_submit) | ||
266 | <div class="clearfix"> | ||
267 | <p class="alert alert-warning alert-button-float-right"> | ||
268 | <span class="alert-button pull-right"> | ||
269 | #if ($xcontext.user != 'XWiki.XWikiGuest') | ||
270 | <input type="submit" class="btn btn-primary" id="${O_submit.id}" name="${O_submit.id}" value="${O_submit.button-text}" /> | ||
271 | #else | ||
272 | <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a> | ||
273 | #end | ||
274 | </span> | ||
275 | <span class="alert-text"> | ||
276 | ${O_submit.help-block} | ||
277 | </span> | ||
278 | </p> | ||
279 | </div> | ||
280 | #end | ||
281 | {{/velocity}} |