Wiki-Quellcode von Macros

Version 2.310 von Jip-jan Alunkel am August 16, 16:15

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