Wiki broncode van Macros

Version 2.364 by Jip-jan Alunkel on februari 06, 22:46

Show last authors
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" || $elementType == "address")
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#if($elementTagName != "captcha") for="${elementDataObj.id}"#end>
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 == "address")
120 #createAddressElement($elementDataObj $elementType)
121 #elseif($elementType == "captcha")
122 #createCaptcha($elementDataObj)
123 #end
124 #end
125 #if($elementDataObj.help-block && $elementDataObj.help-block != "")
126 <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span>
127 #end
128 #if($elementDataObj.required == "true")
129 <span class="required-input-field" title="Required input"></span>
130 #end
131 <span role="alert" class="form-not-valid-tip"></span>
132 </span>
133 </label>
134 </p>
135 #if($elementDataObj.data-modal-input)
136 <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">
137 <div class="modal-dialog" role="document">
138 <div class="modal-content">
139 <div class="modal-header">
140 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
141 <h4 class="modal-title" id="${elementDataObj.id}ModalInputHeader">$elementDataObj.label</h4>
142 </div>
143 <div class="modal-body">
144 #foreach($entry in $elementDataObj.data-modal-input)
145 <p>
146 <label for="input${foreach.count}">$entry
147 <span class="input-wrap">
148 <input type="text" class="form-control full" id="input${foreach.count}" placeholder="$services.localization.render('global.multiword.enter', ["${entry.toLowerCase()}"])" required="required">
149 </span>
150 </label>
151 </p>
152 #end
153 </div>
154 <div class="modal-footer">
155 <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>
156 </div>
157 </div>
158 </div>
159 </div>
160 #end
161 #end
162 #if($elementTagName == "checkradio")
163 <p${paragraphCSSClass}>
164 <span class="input-wrap${spanCSSClass}">
165 <span class="fieldset no-fieldset-border">
166 <label>
167 #if($elementType == "checkbox")
168 #createCheckboxElement($elementDataObj)
169 #elseif($elementType == "radio")
170 #end
171 </label>
172 </span>
173 </span>
174 </p>
175 #end
176 #if($hint != "")
177 <p class="box errormessage">${hint}</p>
178 #end
179 #end
180
181 #macro(createSelectElement $O_elementData $O_tagName)
182 #set($currentSpaceName = $services.model.resolveDocument('', 'default', $doc.documentReference.lastSpaceReference).parent.getName())
183 <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}" data-parent-space="${currentSpaceName}"#end name="${O_elementData.id}" id="${O_elementData.id}">
184 #if($O_elementData.placeholder)
185 #if($O_elementData.select-json && !$O_elementData.select-json.keySet().contains($O_elementData.value))
186 <option value="" disabled=""#if(!$O_elementData.value) selected=""#end hidden="hidden">${O_elementData.placeholder}</option>
187 #end
188 #end
189
190 ## Get the JSON data.
191 #set($json = {})
192 #if($O_elementData.select-json.keySet())
193 #set($json = $O_elementData.select-json)
194 #else
195 #set($jsondoc = $xwiki.getDocument($O_elementData.select-json))
196 #set($jsoncontent = $jsontool.fromString($jsontool.serialize($jsondoc.getContent())))
197 #set($json = $jsontool.parse($jsoncontent))
198 #end
199
200 ## Loop through the JSON data to create the options.
201 #foreach($key in $json.keySet())
202 <option value="$key">$json[$key]</option>
203 #end
204 </select>
205 #end
206 #macro(createTextElement $O_elementData $O_tagName)
207 <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-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>
208 #if($O_elementData.data-modal-input)
209 <a href="#" class="btn btn-default" data-toggle="modal" data-target="#${O_elementData.id}Modal">Create</a>
210 #end
211 #end
212 #macro(createAddressElement $O_elementData $O_tagName)
213 <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-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-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>
214 <input type="hidden" id="latlong" name="latlong" value="" data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="latlong">
215 <input type="hidden" id="city" name="city" value="" data-create-xobj="${O_elementData.data-create-xobj}" data-xobj-classname="${O_elementData.data-xobj-classname}" data-xobj-fieldname="city">
216 #end
217 #macro(createNumberElement $O_elementData $O_tagName)
218 <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>
219 #end
220 #macro(createEmailElement $O_elementData $O_tagName)
221 <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>
222 #end
223 #macro(createPasswordElement $O_elementData $O_tagName)
224 <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>
225 #end
226 #macro(createDateElement $O_elementData $O_tagName)
227 <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>
228 #end
229 #macro(createColorElement $O_elementData $O_tagName)
230 <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>
231 #end
232 #macro(createRangeElement $O_elementData $O_tagName)
233 <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>
234 #end
235 #macro(createTelElement $O_elementData $O_tagName)
236 <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>
237 #end
238 #macro(createUrlElement $O_elementData $O_tagName)
239 <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>
240 #end
241 #macro(createCheckboxElement $O_elementData)
242 <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.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>$O_elementData.label
243 <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>
244 #end
245 #macro(createTextareaElement $O_elementData $O_tagName)
246
247 #set($lazy = false)
248 #wysiwyg_import($lazy)
249
250 <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>
251 <script type="text/javascript">
252 document.observe('xwiki:dom:loaded', function () {
253 Wysiwyg.onModuleLoad(function() {
254 new WysiwygEditor({hookId:'${O_elementData.id}'});
255 });
256 });
257 </script>
258 #end
259 #macro(createCaptcha $O_elementData)
260 <span class="slideCaptcha-track" id="slideCaptcha_track">
261 <span class="slideCaptcha-slider" id="slideCaptcha_slider" data-target-size="${O_elementData.data-target-size}""></span>
262 </span>
263 <input type="hidden" id="slideCaptcha_answer" value="">
264 #end
265 #macro(createExpandStart $opener $value)
266 <div id="${opener.id}_section_#if($value)${value}#else${opener.value}#end" class="togglee">
267 #end
268 #macro(createExpandEnd)
269 </div>
270 #end
271 #macro(createSubmit $O_submit)
272 <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" />
273
274 #if(${O_submit.clean} == "true")
275 #if ($xcontext.user != 'XWiki.XWikiGuest')
276 <input type="submit" class="btn btn-primary" id="${O_submit.id}" name="${O_submit.id}" value="${O_submit.button-text}" />
277 #else
278 <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a>
279 #end
280
281 #else
282 <div class="clearfix">
283 <p class="alert alert-warning alert-button-float-right">
284 <span class="alert-button pull-right">
285 #if ($xcontext.user != 'XWiki.XWikiGuest')
286 <input type="submit" class="btn btn-primary" id="${O_submit.id}" name="${O_submit.id}" value="${O_submit.button-text}" />
287 #else
288 <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a>
289 #end
290 </span>
291 <span class="alert-text">
292 ${O_submit.help-block}
293 </span>
294 </p>
295 </div>
296 #end
297 #end
298 #macro(getUser)
299 #set($user = '')
300 #if($xcontext.getUser() != 'XWiki.XWikiGuest')
301 #set($userDoc = $xwiki.getDocument($xcontext.getUser()))
302 #set($userObj = $userDoc.getObject('XWiki.XWikiUsers'))
303 #set($userLn = "$userObj.getValue('last_name')")
304 #set($userFn = $userObj.getValue('first_name'))
305 #set($glue = ", ")
306 #if($userLn == "" || $userFn == "")
307 #set($glue = "")
308 #end
309 #set($user = "$userLn${glue}$userFn")
310 #if($user == "")
311 #set($user = "$xcontext.getUser().split('\.')[1], NoName")
312 #end
313 #end
314 #end
315 {{/velocity}}