Исходный код вики Macros
Версия 3.1 от Jip-jan Alunkel на марта 12, 21:47
Последние авторы
author | version | line-number | content |
---|---|---|---|
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">×</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=""></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}} |