Wiki source code of Macros
Last modified by Jip-jan Alunkel on April 06, 12:46
Show last authors
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 | #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 | #if($elementDataObj.data-required-spoof != "true") | ||
54 | #set($paragraphCSSClass = ' class="required"') | ||
55 | #else | ||
56 | #set($paragraphCSSClass = ' class="required-spoof"') | ||
57 | #end | ||
58 | #end | ||
59 | #elseif($elementType == 'captcha') | ||
60 | #set($paragraphCSSClass = ' class="slideCaptcha-box"') | ||
61 | #end | ||
62 | #if($elementDataObj.data-query-type) | ||
63 | #set($makeFocusable = ' tabindex="-1"') | ||
64 | #end | ||
65 | #if($elementType == 'captcha') | ||
66 | #set($captchaClass = ' class="slideCaptcha-box"') | ||
67 | #end | ||
68 | #if($elementType == "select") | ||
69 | #set($spanCSSClass = " select-wrap") | ||
70 | #set($elementTagName = "select") | ||
71 | #elseif($elementType == "text" || $elementType == "hidden" || $elementType == "number" || $elementType == "range" || $elementType == "email" || $elementType == "password" || $elementType == "date" || $elementType == "tel" || $elementType == "url" || $elementType == "color" || $elementType == "address") | ||
72 | #set($elementTagName = "input") | ||
73 | #elseif($elementType == "checkbox" || $elementType == "radio") | ||
74 | #set($spanCSSClass = " checkradio") | ||
75 | #set($elementTagName = "checkradio") | ||
76 | #elseif($elementType == "textarea") | ||
77 | #set($elementTagName = "textarea") | ||
78 | #elseif($elementType == "captcha") | ||
79 | #set($elementTagName = "captcha") | ||
80 | #else | ||
81 | #set($hint = "This type of element does not exist, read the manual for more information about element types.") | ||
82 | #end | ||
83 | #if($elementTagName == "select" || $elementTagName == "input" || $elementTagName == "textarea" || $elementTagName == "captcha") | ||
84 | #if($elementType == "hidden") | ||
85 | #createHiddenElement($elementDataObj $elementTagName) | ||
86 | #else | ||
87 | <p${paragraphCSSClass}${makeFocusable}> | ||
88 | <label#if($elementTagName != "captcha") for="${elementDataObj.id}"#end> | ||
89 | $elementDataObj.label | ||
90 | <span class="input-wrap${spanCSSClass}"> | ||
91 | #if($elementTagName == "select") | ||
92 | #createSelectElement($elementDataObj $elementTagName) | ||
93 | #elseif($elementTagName == "textarea") | ||
94 | #createTextareaElement($elementDataObj $elementTagName) | ||
95 | #else | ||
96 | #if($elementType == "text") | ||
97 | #createTextElement($elementDataObj $elementType) | ||
98 | #elseif($elementType == "number") | ||
99 | #if(!$elementDataObj.data-decimals)#set($elementDataObj.data-decimals = 0)#end | ||
100 | #if(!$elementDataObj.decimals-step)#set($elementDataObj.decimals-step = 1)#end | ||
101 | #createNumberElement($elementDataObj $elementType) | ||
102 | #elseif($elementType == "email") | ||
103 | #createEmailElement($elementDataObj $elementType) | ||
104 | #elseif($elementType == "password") | ||
105 | #createPasswordElement($elementDataObj $elementType) | ||
106 | #elseif($elementType == "range") | ||
107 | #if($elementDataObj.range-minmax) | ||
108 | #set($minmax = $elementDataObj.range-minmax.split('-')) | ||
109 | #if($minmax.size() == 2) | ||
110 | #set($elementDataObj.range-min = $minmax[0]) | ||
111 | #set($elementDataObj.range-max = $minmax[1]) | ||
112 | #end | ||
113 | #else | ||
114 | #set($elementDataObj.range-min = 0) | ||
115 | #set($elementDataObj.range-max = 100) | ||
116 | #end | ||
117 | #createRangeElement($elementDataObj $elementType) | ||
118 | #elseif($elementType == "date") | ||
119 | #createDateElement($elementDataObj $elementType) | ||
120 | #elseif($elementType == "color") | ||
121 | #createColorElement($elementDataObj $elementType) | ||
122 | #elseif($elementType == "tel") | ||
123 | #createTelElement($elementDataObj $elementType) | ||
124 | #elseif($elementType == "url") | ||
125 | #createUrlElement($elementDataObj $elementType) | ||
126 | #elseif($elementType == "address") | ||
127 | #createAddressElement($elementDataObj $elementType) | ||
128 | #elseif($elementType == "captcha") | ||
129 | #createCaptcha($elementDataObj) | ||
130 | #end | ||
131 | #end | ||
132 | #if($elementDataObj.help-block && $elementDataObj.help-block != "") | ||
133 | <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span> | ||
134 | #end | ||
135 | #if($elementDataObj.required == "true") | ||
136 | <span class="required-input-field" title="Required input"></span> | ||
137 | #end | ||
138 | <span role="alert" class="form-not-valid-tip"></span> | ||
139 | </span> | ||
140 | </label> | ||
141 | </p> | ||
142 | #if($elementDataObj.data-modal-input) | ||
143 | <div class="modal fade modal-input pagemaker" 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"> | ||
144 | <div class="modal-dialog modal-dialog-centered" role="document"> | ||
145 | <div class="modal-content"> | ||
146 | <div class="modal-header"> | ||
147 | <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> | ||
148 | <h4 class="modal-title" id="${elementDataObj.id}ModalInputHeader">$elementDataObj.label</h4> | ||
149 | </div> | ||
150 | <div class="modal-body"> | ||
151 | #foreach($entry in $elementDataObj.data-modal-input) | ||
152 | <p> | ||
153 | <label for="input${foreach.count}">$entry | ||
154 | <span class="input-wrap"> | ||
155 | <input type="text" class="form-control full" pattern="[A-ZÀ-Ýa-zà-ý -]" id="input${foreach.count}" placeholder="$services.localization.render('global.multiword.enter', ["${entry.toLowerCase()}"])"> | ||
156 | </span> | ||
157 | </label> | ||
158 | </p> | ||
159 | #end | ||
160 | </div> | ||
161 | <div class="modal-footer"> | ||
162 | <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> | ||
163 | </div> | ||
164 | </div> | ||
165 | </div> | ||
166 | </div> | ||
167 | #end | ||
168 | #end | ||
169 | #end | ||
170 | #if($elementTagName == "checkradio") | ||
171 | <p${paragraphCSSClass}> | ||
172 | <span class="input-wrap${spanCSSClass}"> | ||
173 | <span class="fieldset no-fieldset-border"> | ||
174 | <label> | ||
175 | #if($elementType == "checkbox") | ||
176 | #createCheckboxElement($elementDataObj) | ||
177 | #elseif($elementType == "radio") | ||
178 | #end | ||
179 | </label> | ||
180 | </span> | ||
181 | </span> | ||
182 | </p> | ||
183 | #end | ||
184 | #if($hint != "") | ||
185 | <p class="box errormessage">${hint}</p> | ||
186 | #end | ||
187 | #end | ||
188 | |||
189 | #macro(createSelectElement $O_elementData $O_tagName) | ||
190 | #set($currentSpaceName = $services.model.resolveDocument('', 'default', $doc.documentReference.lastSpaceReference).parent.getName()) | ||
191 | <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> | ||
192 | #if($O_elementData.placeholder) | ||
193 | <option value="" disabled=""#if($O_elementData.value == "") selected="selected"#end>${O_elementData.placeholder}</option> | ||
194 | #end | ||
195 | |||
196 | ## Get the JSON data. | ||
197 | #set($json = {}) | ||
198 | #if($O_elementData.select-json.keySet()) | ||
199 | #set($json = $O_elementData.select-json) | ||
200 | #else | ||
201 | #set($jsondoc = $xwiki.getDocument($O_elementData.select-json)) | ||
202 | #set($jsoncontent = $jsontool.fromString($jsontool.serialize($jsondoc.getContent()))) | ||
203 | #set($json = $jsontool.parse($jsoncontent)) | ||
204 | #end | ||
205 | |||
206 | ## Loop through the JSON data to create the options. | ||
207 | #foreach($key in $json.keySet()) | ||
208 | <option value="$key"#if($key == $O_elementData.value) selected="selected"#end>$json[$key]</option> | ||
209 | #end | ||
210 | </select> | ||
211 | #end | ||
212 | #macro(createTextElement $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#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> | ||
214 | #if($O_elementData.data-modal-input) | ||
215 | <a href="#" class="btn btn-default" data-toggle="modal" data-target="#${O_elementData.id}Modal">Create</a> | ||
216 | #end | ||
217 | #end | ||
218 | #macro(createHiddenElement $O_elementData $O_tagName) | ||
219 | <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> | ||
220 | #end | ||
221 | #macro(createAddressElement $O_elementData $O_tagName) | ||
222 | <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> | ||
223 | #set($addressDataArray = { | ||
224 | 'pmLatlong': '', | ||
225 | 'pmCountry': '', | ||
226 | 'pmState': '', | ||
227 | 'pmCounty': '', | ||
228 | 'pmPostcode': '', | ||
229 | 'pmCity': '', | ||
230 | 'pmStreet': '', | ||
231 | 'pmHousenumber': '' | ||
232 | }) | ||
233 | #foreach($item in $addressDataArray.keySet()) | ||
234 | #if($O_elementData["$item"]) | ||
235 | #set($addressDataValue=$O_elementData["$item"]) | ||
236 | <input type="hidden" id="${item}" name="${item}" value="${addressDataValue}"#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="${item}"#end> | ||
237 | #end | ||
238 | #end | ||
239 | #end | ||
240 | #macro(createNumberElement $O_elementData $O_tagName) | ||
241 | <input type="number" class="form-control full" name="${O_elementData.id}" id="${O_elementData.id}" value="#if($O_elementData.value)$O_elementData.value#end"#if($O_elementData.disabled) disabled="disabled"#end autocomplete="off" min="0" pattern="[0-9]*[.,]?[0-9]+"#if($O_elementData.data-decimals) data-decimals="${O_elementData.data-decimals}"#end#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> | ||
242 | #end | ||
243 | #macro(createEmailElement $O_elementData $O_tagName) | ||
244 | <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> | ||
245 | #end | ||
246 | #macro(createPasswordElement $O_elementData $O_tagName) | ||
247 | <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> | ||
248 | #end | ||
249 | #macro(createDateElement $O_elementData $O_tagName) | ||
250 | <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> | ||
251 | #end | ||
252 | #macro(createColorElement $O_elementData $O_tagName) | ||
253 | <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> | ||
254 | #end | ||
255 | #macro(createRangeElement $O_elementData $O_tagName) | ||
256 | <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> | ||
257 | #end | ||
258 | #macro(createTelElement $O_elementData $O_tagName) | ||
259 | <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> | ||
260 | #end | ||
261 | #macro(createUrlElement $O_elementData $O_tagName) | ||
262 | <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> | ||
263 | #end | ||
264 | #macro(createCheckboxElement $O_elementData) | ||
265 | <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> | ||
266 | <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> | ||
267 | #end | ||
268 | #macro(createTextareaElement $O_elementData $O_tagName) | ||
269 | |||
270 | #set($lazy = false) | ||
271 | #wysiwyg_import($lazy) | ||
272 | |||
273 | <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> | ||
274 | <script type="text/javascript"> | ||
275 | document.observe('xwiki:dom:loaded', function () { | ||
276 | Wysiwyg.onModuleLoad(function() { | ||
277 | new WysiwygEditor({hookId:'${O_elementData.id}'}); | ||
278 | }); | ||
279 | }); | ||
280 | </script> | ||
281 | #end | ||
282 | #macro(createCaptcha $O_elementData) | ||
283 | <span class="slideCaptcha-track" id="slideCaptcha_track"> | ||
284 | <span class="slideCaptcha-slider" id="slideCaptcha_slider" data-target-size="${O_elementData.data-target-size}""></span> | ||
285 | </span> | ||
286 | <input type="hidden" id="slideCaptcha_answer" value=""> | ||
287 | #end | ||
288 | #macro(createExpandStart $opener $value) | ||
289 | <div id="${opener.id}_section_#if($value)${value}#else${opener.value}#end" class="togglee"> | ||
290 | #end | ||
291 | #macro(createExpandEnd) | ||
292 | </div> | ||
293 | #end | ||
294 | #macro(createSubmit $O_submit) | ||
295 | <input type="hidden" name="form_token" value="$!{services.csrf.getToken()}" /> | ||
296 | |||
297 | #if(${O_submit.clean} == "true") | ||
298 | #if ($xcontext.user != 'XWiki.XWikiGuest') | ||
299 | <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 /> | ||
300 | #else | ||
301 | <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a> | ||
302 | #end | ||
303 | |||
304 | #else | ||
305 | <div class="clearfix"> | ||
306 | <p class="alert alert-warning alert-button-float-right"> | ||
307 | <span class="alert-button pull-right"> | ||
308 | #if ($xcontext.user != 'XWiki.XWikiGuest') | ||
309 | <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 /> | ||
310 | #else | ||
311 | <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a> | ||
312 | #end | ||
313 | </span> | ||
314 | <span class="alert-text"> | ||
315 | ${O_submit.help-block} | ||
316 | </span> | ||
317 | </p> | ||
318 | </div> | ||
319 | #end | ||
320 | #end | ||
321 | #macro(getUser) | ||
322 | #set($user = '') | ||
323 | #if($xcontext.getUser() != 'XWiki.XWikiGuest') | ||
324 | #set($userDoc = $xwiki.getDocument($xcontext.getUser())) | ||
325 | #set($userObj = $userDoc.getObject('XWiki.XWikiUsers')) | ||
326 | #set($userLn = "$userObj.getValue('last_name')") | ||
327 | #set($userFn = $userObj.getValue('first_name')) | ||
328 | #set($glue = ", ") | ||
329 | #if($userLn == "" || $userFn == "") | ||
330 | #set($glue = "") | ||
331 | #end | ||
332 | #set($user = "$userLn${glue}$userFn") | ||
333 | #if($user == "") | ||
334 | #set($user = "$xcontext.getUser().split('\.')[1], NoName") | ||
335 | #end | ||
336 | #end | ||
337 | #end | ||
338 | {{/velocity}} |