Исходный код вики Macros

Версия 3.1 от Jip-jan Alunkel на марта 12, 21:47

Последние авторы
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 ## afwijkende attributen
43 ## "help-block": '',
44 ## "data-decimals": ''
45 #set($attrMap = {
46 "aria-label": '',
47 "date-min": '',
48 "date-max": '',
49 "decimal-step": '',
50 "disabled": '',
51 "placeholder": '',
52 "textarea-rows": '',
53 "value": '',
54 "data-error-response-type": '',
55 "data-opener": '',
56 "data-pattern": '',
57 "data-auto-first-capital": '',
58 "data-query-type": '',
59 "data-query-reference": '',
60 "data-page-name": '',
61 "data-query-list-type": '',
62 "data-query-list-header": '',
63 "data-query-list-contents": '',
64 "data-query-list-editable": '',
65 "data-create-page": '',
66 "data-set-space": '',
67 "data-space-xobj-classname": '',
68 "data-parent-space": '',
69 "data-query-scope": '',
70 "data-create-xobj": '',
71 "data-xobj-classname": '',
72 "data-ajax-check": '',
73 "data-modal-input": '',
74 "data-default-value": ''
75 })
76 #foreach($attr in $attrMap.keySet())
77 #if($elementDataObj.containsKey("$!attr"))
78
79 #set($elementType = $elementDataObj.type)
80 #set($elementTagName = '')
81 #set($paragraphCSSClass = '')
82 #set($makeFocusable = '')
83 #set($spanCSSClass = '')
84 #set($hint = '')
85 #set($placeholder = '')
86 #if($elementDataObj.required == 'true')
87 #if($elementType == 'captcha')
88 #set($paragraphCSSClass = ' class="required slideCaptcha-box"')
89 #else
90 #if($elementDataObj.data-required-spoof != "true")
91 #set($paragraphCSSClass = ' class="required"')
92 #else
93 #set($paragraphCSSClass = ' class="required-spoof"')
94 #end
95 #end
96 #elseif($elementDataObj.type == 'captcha')
97 #set($paragraphCSSClass = ' class="slideCaptcha-box"')
98 #end
99 #if($elementDataObj.data-query-type)
100 #set($makeFocusable = ' tabindex="-1"')
101 #end
102 #if($elementDataObj.type == 'captcha')
103 #set($captchaClass = ' class="slideCaptcha-box"')
104 #end
105 #if($elementType == "select")
106 #set($spanCSSClass = " select-wrap")
107 #set($elementTagName = "select")
108 #elseif($elementType == "text" || $elementType == "hidden" || $elementType == "number" || $elementType == "range" || $elementType == "email" || $elementType == "password" || $elementType == "date" || $elementType == "tel" || $elementType == "url" || $elementType == "color" || $elementType == "address")
109 #set($elementTagName = "input")
110 #elseif($elementType == "checkbox" || $elementType == "radio")
111 #set($spanCSSClass = " checkradio")
112 #set($elementTagName = "checkradio")
113 #elseif($elementType == "textarea")
114 #set($elementTagName = "textarea")
115 #elseif($elementType == "captcha")
116 #set($elementTagName = "captcha")
117 #else
118 #set($hint = "This type of element does not exist, read the manual for more information about element types.")
119 #end
120 #if($elementTagName == "select" || $elementTagName == "input" || $elementTagName == "textarea" || $elementTagName == "captcha")
121 #if($elementType == "hidden")
122 #createHiddenElement($elementDataObj $elementTagName)
123 #else
124 <p${paragraphCSSClass}${makeFocusable}>
125 <label#if($elementTagName != "captcha") for="${elementDataObj.id}"#end>
126 $elementDataObj.label
127 <span class="input-wrap${spanCSSClass}">
128 #if($elementTagName == "select")
129 #createSelectElement($elementDataObj $elementTagName)
130 #elseif($elementTagName == "textarea")
131 #createTextareaElement($elementDataObj $elementTagName)
132 #else
133 #if($elementType == "text")
134 #createTextElement($elementDataObj $elementType)
135 #elseif($elementType == "number")
136 #if(!$elementDataObj.data-decimals)#set($elementDataObj.data-decimals = 0)#end
137 #if(!$elementDataObj.decimals-step)#set($elementDataObj.decimals-step = 1)#end
138 #createNumberElement($elementDataObj $elementType)
139 #elseif($elementType == "email")
140 #createEmailElement($elementDataObj $elementType)
141 #elseif($elementType == "password")
142 #createPasswordElement($elementDataObj $elementType)
143 #elseif($elementType == "range")
144 #if($elementDataObj.range-minmax)
145 #set($minmax = $elementDataObj.range-minmax.split('-'))
146 #if($minmax.size() == 2)
147 #set($elementDataObj.range-min = $minmax[0])
148 #set($elementDataObj.range-max = $minmax[1])
149 #end
150 #else
151 #set($elementDataObj.range-min = 0)
152 #set($elementDataObj.range-max = 100)
153 #end
154 #createRangeElement($elementDataObj $elementType)
155 #elseif($elementType == "date")
156 #createDateElement($elementDataObj $elementType)
157 #elseif($elementType == "color")
158 #createColorElement($elementDataObj $elementType)
159 #elseif($elementType == "tel")
160 #createTelElement($elementDataObj $elementType)
161 #elseif($elementType == "url")
162 #createUrlElement($elementDataObj $elementType)
163 #elseif($elementType == "address")
164 #createAddressElement($elementDataObj $elementType)
165 #elseif($elementType == "captcha")
166 #createCaptcha($elementDataObj)
167 #end
168 #end
169 #if($elementDataObj.help-block && $elementDataObj.help-block != "")
170 <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span>
171 #end
172 #if($elementDataObj.required == "true")
173 <span class="required-input-field" title="Required input"></span>
174 #end
175 <span role="alert" class="form-not-valid-tip"></span>
176 </span>
177 </label>
178 </p>
179 #if($elementDataObj.data-modal-input)
180 <div class="modal fade modal-input" id="${elementDataObj.id}Modal" tabindex="-1" role="dialog" data-modal-input-origin="${elementDataObj.id}" data-modal-input-glue="${elementDataObj.data-modal-input-glue}" aria-labelledby="myModalLabel">
181 <div class="modal-dialog modal-dialog-centered" role="document">
182 <div class="modal-content">
183 <div class="modal-header">
184 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
185 <h4 class="modal-title" id="${elementDataObj.id}ModalInputHeader">$elementDataObj.label</h4>
186 </div>
187 <div class="modal-body">
188 #foreach($entry in $elementDataObj.data-modal-input)
189 <p>
190 <label for="input${foreach.count}">$entry
191 <span class="input-wrap">
192 <input type="text" class="form-control full" id="input${foreach.count}" placeholder="$services.localization.render('global.multiword.enter', ["${entry.toLowerCase()}"])" required="required">
193 </span>
194 </label>
195 </p>
196 #end
197 </div>
198 <div class="modal-footer">
199 <button type="button" class="btn btn-default" data-dismiss="modal">Close</button><button type="button" id="clearInput" class="btn btn-default">Clear</button><button type="button" id="copyToInput" class="btn btn-primary">Save changes</button>
200 </div>
201 </div>
202 </div>
203 </div>
204 #end
205 #end
206 #end
207 #if($elementTagName == "checkradio")
208 <p${paragraphCSSClass}>
209 <span class="input-wrap${spanCSSClass}">
210 <span class="fieldset no-fieldset-border">
211 <label>
212 #if($elementType == "checkbox")
213 #createCheckboxElement($elementDataObj)
214 #elseif($elementType == "radio")
215 #end
216 </label>
217 </span>
218 </span>
219 </p>
220 #end
221 #if($hint != "")
222 <p class="box errormessage">${hint}</p>
223 #end
224 #end
225
226 #macro(createSelectElement $O_elementData $O_tagName)
227 #set($currentSpaceName = $services.model.resolveDocument('', 'default', $doc.documentReference.lastSpaceReference).parent.getName())
228 <select name="${O_elementData.id}" id="${O_elementData.id}" class="form-select form-control empty"#if($O_elementData.disabled) disabled="disabled"#end#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}" data-parent-space="${currentSpaceName}"#end#if($O_elementData.data-space-xobj-classname) data-space-xobj-classname="${O_elementData.data-space-xobj-classname}"#end>
229 #if($O_elementData.placeholder)
230 <option value="" disabled=""#if($O_elementData.value == "") selected="selected"#end>${O_elementData.placeholder}</option>
231 #end
232
233 ## Get the JSON data.
234 #set($json = {})
235 #if($O_elementData.select-json.keySet())
236 #set($json = $O_elementData.select-json)
237 #else
238 #set($jsondoc = $xwiki.getDocument($O_elementData.select-json))
239 #set($jsoncontent = $jsontool.fromString($jsontool.serialize($jsondoc.getContent())))
240 #set($json = $jsontool.parse($jsoncontent))
241 #end
242
243 ## Loop through the JSON data to create the options.
244 #foreach($key in $json.keySet())
245 <option value="$key"#if($key == $O_elementData.value) selected="selected"#end>$json[$key]</option>
246 #end
247 </select>
248 #end
249 #macro(createTextElement $O_elementData $O_tagName)
250 <input type="text" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end#if($O_elementData.disabled) disabled="disabled"#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-page-name) data-page-name="${O_elementData.data-page-name}"#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-set-space}) data-set-space="${O_elementData.data-set-space}"#end#if($O_elementData.data-space-xobj-classname) data-space-xobj-classname="${O_elementData.data-space-xobj-classname}"#end#if($O_elementData.data-parent-space) data-parent-space="${O_elementData.data-parent-space}"#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}"#end#if($O_elementData.data-default-value) data-default-value="${O_elementData.data-default-value}"#end>
251 #if($O_elementData.data-modal-input)
252 <a href="#" class="btn btn-default" data-toggle="modal" data-target="#${O_elementData.id}Modal">Create</a>
253 #end
254 #end
255 #macro(createHiddenElement $O_elementData $O_tagName)
256 <input type="hidden" id="${O_elementData.id}" name="${O_elementData.id}" value="${O_elementData.value}"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"#end>
257 #end
258 #macro(createAddressElement $O_elementData $O_tagName)
259 #set($addressDataArray = {
260 'pmLatlong': '',
261 'pmCountry': '',
262 'pmState': '',
263 'pmCounty': '',
264 'pmPostcode': '',
265 'pmCity': '',
266 'pmStreet': '',
267 'pmHousenumber': ''
268 })
269 #foreach($item in $addressDataArray.keySet())
270 #if($O_elementData["$item"])#set($addressDataArray["$item"]=$O_elementData["$item"])#end
271 #end
272 <input type="text" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="${O_elementData.value}"#end#if($O_elementData.disabled) disabled="disabled"#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-page-name) data-page-name="${O_elementData.data-page-name}"#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-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}"#end#if($O_elementData.data-default-value) data-default-value="${O_elementData.data-default-value}"#end>
273 <input type="hidden" id="pmLatlong" name="pmLatlong" value="$addressDataArray['pmLatlong']"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="pmLatlong"#end>
274 <input type="hidden" id="pmCountry" name="pmCountry" value="$addressDataArray['pmCountry']"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="pmCountry"#end>
275 <input type="hidden" id="pmState" name="pmState" value="$addressDataArray['pmState']"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="pmState"#end>
276 <input type="hidden" id="pmCounty" name="pmCounty" value="$addressDataArray['pmCounty']"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="pmCounty"#end>
277 <input type="hidden" id="pmPostcode" name="pmPostcode" value="$addressDataArray['pmPostcode']"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="pmPostcode"#end>
278 <input type="hidden" id="pmCity" name="pmCity" value="$addressDataArray['pmCity']"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="pmCity"#end>
279 <input type="hidden" id="pmStreet" name="pmStreet" value="$addressDataArray['pmStreet']"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="pmStreet"#end>
280 <input type="hidden" id="pmHousenumber" name="pmHousenumber" value="$addressDataArray['pmHousenumber']"#if($O_elementData.data-create-xobj) data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="pmHousenumber"#end>
281 #end
282 #macro(createNumberElement $O_elementData $O_tagName)
283 #set($elemMap = {
284 "data-decimals": '',
285 "value": $!O_elementData.value
286 })
287 #if($O_elementData.data-decimals != 0)#set($elemMap["data-decimals"] = ' data-decimals="${O_elementData.data-decimals}"')#end
288 ## #set($mValue = '')#if($O_elementData.value != 0) #set($mValue = $O_elementData.value)#end
289 <input type="number" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" value="$elemMap.value"#if($O_elementData.disabled) disabled="disabled"#end autocomplete="off" min="0" pattern="[0-9]*[.,]?[0-9]+"${elemMap.data-decimals}#if($O_elementData.decimal-step) step="${O_elementData.decimal-step}"#end#if($O_elementData.placeholder) placeholder="${O_elementData.placeholder}"#end#if($O_elementData.help-block) aria-describedby="${O_elementData.id}_helpBlock"#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#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>
290 #end
291 #macro(createEmailElement $O_elementData $O_tagName)
292 <input type="email" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end#if($O_elementData.disabled) disabled="disabled"#end pattern="^[A-Za-z0-9\._+-]+@[A-Za-z0-9\.-]+\.[A-Za-z]{2,6}$" 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>
293 #end
294 #macro(createPasswordElement $O_elementData $O_tagName)
295 <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#if($O_elementData.disabled) disabled="disabled"#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>
296 #end
297 #macro(createDateElement $O_elementData $O_tagName)
298 <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.disabled) disabled="disabled"#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>
299 #end
300 #macro(createColorElement $O_elementData $O_tagName)
301 <input type="color" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" value="#fffffe"#if($O_elementData.disabled) disabled="disabled"#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>
302 #end
303 #macro(createRangeElement $O_elementData $O_tagName)
304 <input type="range" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end#if($O_elementData.disabled) disabled="disabled"#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>
305 #end
306 #macro(createTelElement $O_elementData $O_tagName)
307 <input type="tel" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end#if($O_elementData.disabled) disabled="disabled"#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>
308 #end
309 #macro(createUrlElement $O_elementData $O_tagName)
310 <input type="url" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.value) value="$O_elementData.value"#end#if($O_elementData.disabled) disabled="disabled"#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>
311 #end
312 #macro(createCheckboxElement $O_elementData)
313 <input type="checkbox" name="${O_elementData.id}"#if($O_elementData.value=="1" && $O_elementData.data-checked!="false") checked="checked"#end value="1"#if($O_elementData.disabled) disabled="disabled"#end 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.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.aria-label) aria-label="${O_elementData.aria-label}"#end><span>$O_elementData.label</span>
314 <input name="${O_elementData.id}" type="hidden" value="0"#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>
315 #end
316 #macro(createTextareaElement $O_elementData $O_tagName)
317
318 #set($lazy = false)
319 #wysiwyg_import($lazy)
320
321 <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.disabled) disabled="disabled"#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>
322 <script type="text/javascript">
323 document.observe('xwiki:dom:loaded', function () {
324 Wysiwyg.onModuleLoad(function() {
325 new WysiwygEditor({hookId:'${O_elementData.id}'});
326 });
327 });
328 </script>
329 #end
330 #macro(createCaptcha $O_elementData)
331 <span class="slideCaptcha-track" id="slideCaptcha_track">
332 <span class="slideCaptcha-slider" id="slideCaptcha_slider" data-target-size="${O_elementData.data-target-size}""></span>
333 </span>
334 <input type="hidden" id="slideCaptcha_answer" value="">
335 #end
336 #macro(createExpandStart $opener $value)
337 <div id="${opener.id}_section_#if($value)${value}#else${opener.value}#end" class="togglee">
338 #end
339 #macro(createExpandEnd)
340 </div>
341 #end
342 #macro(createSubmit $O_submit)
343 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
344
345 #if(${O_submit.clean} == "true")
346 #if ($xcontext.user != 'XWiki.XWikiGuest')
347 <input type="submit" class="btn btn-primary" id="${O_submit.id}" name="${O_submit.id}" value="${O_submit.button-text}"#if($O_elementData.disabled) disabled="disabled"#end />
348 #else
349 <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a>
350 #end
351
352 #else
353 <div class="clearfix">
354 <p class="alert alert-warning alert-button-float-right">
355 <span class="alert-button pull-right">
356 #if ($xcontext.user != 'XWiki.XWikiGuest')
357 <input type="submit" class="btn btn-primary" id="${O_submit.id}" name="${O_submit.id}" value="${O_submit.button-text}"#if($O_elementData.disabled) disabled="disabled"#end />
358 #else
359 <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a>
360 #end
361 </span>
362 <span class="alert-text">
363 ${O_submit.help-block}
364 </span>
365 </p>
366 </div>
367 #end
368 #end
369 #macro(getUser)
370 #set($user = '')
371 #if($xcontext.getUser() != 'XWiki.XWikiGuest')
372 #set($userDoc = $xwiki.getDocument($xcontext.getUser()))
373 #set($userObj = $userDoc.getObject('XWiki.XWikiUsers'))
374 #set($userLn = "$userObj.getValue('last_name')")
375 #set($userFn = $userObj.getValue('first_name'))
376 #set($glue = ", ")
377 #if($userLn == "" || $userFn == "")
378 #set($glue = "")
379 #end
380 #set($user = "$userLn${glue}$userFn")
381 #if($user == "")
382 #set($user = "$xcontext.getUser().split('\.')[1], NoName")
383 #end
384 #end
385 #end
386 {{/velocity}}