Wiki source code of Macros
Version 2.106 by Jip-jan Alunkel on June 28, 23:39
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.2 | 1 | {{velocity}} |
![]() |
2.53 | 2 | #macro(createFormStart $id $product) |
![]() |
2.98 | 3 | <form action="" id="${id}" method="post" class="pagemaker" data-form-product="${product}" novalidate="novalidate"> |
![]() |
2.53 | 4 | #end |
5 | #macro(createFormEnd) | ||
![]() |
2.75 | 6 | <div role="alert" class="form-response-output form-validation-errors" style="display: none"> |
7 | <p> | ||
![]() |
2.98 | 8 | $services.localization.render('pagemaker.line.global_error_msg') |
![]() |
2.75 | 9 | </p> |
10 | </div> | ||
11 | <div role="alert" class="form-response-output form-validation-ok" style="display: none"> | ||
12 | <p> | ||
![]() |
2.98 | 13 | $services.localization.render('pagemaker.line.global_ok_msg') |
![]() |
2.75 | 14 | </p> |
15 | </div> | ||
![]() |
2.53 | 16 | </form> |
17 | #end | ||
![]() |
2.23 | 18 | #macro(createFormElement $elementDataObj) |
19 | #set($elementType = $elementDataObj.type) | ||
![]() |
2.33 | 20 | #set($elementTagName = '') |
![]() |
2.28 | 21 | #set($requiredCSSClass = '') |
![]() |
2.98 | 22 | #set($makeFocusable = '') |
![]() |
2.28 | 23 | #set($addedCSSClass = '') |
![]() |
2.30 | 24 | #set($hint = '') |
![]() |
2.98 | 25 | #set($placeholder = '') |
26 | #if($elementDataObj.required == 'true') | ||
![]() |
2.28 | 27 | #set($requiredCSSClass = ' class="required"') |
28 | #end | ||
![]() |
2.98 | 29 | #if($elementDataObj.data-query-type) |
30 | #set($makeFocusable = ' tabindex="-1"') | ||
31 | #end | ||
![]() |
2.23 | 32 | #if($elementType == "select") |
![]() |
2.28 | 33 | #set($addedCSSClass = " select-wrap") |
![]() |
2.32 | 34 | #set($elementTagName = "select") |
![]() |
2.98 | 35 | #elseif($elementType == "text" || $elementType == "number" || $elementType == "range" || $elementType == "email" || $elementType == "password" || $elementType == "date" || $elementType == "tel" || $elementType == "url" || $elementType == "color") |
![]() |
2.32 | 36 | #set($elementTagName = "input") |
![]() |
2.28 | 37 | #elseif($elementType == "checkbox" || $elementType == "radio") |
![]() |
2.66 | 38 | #set($addedCSSClass = " checkradio") |
![]() |
2.32 | 39 | #set($elementTagName = "checkradio") |
![]() |
2.27 | 40 | #elseif($elementType == "textarea") |
![]() |
2.32 | 41 | #set($elementTagName = "textarea") |
![]() |
2.27 | 42 | #else |
43 | #set($hint = "This type of element does not exist, read the manual for more information about element types.") | ||
![]() |
2.23 | 44 | #end |
![]() |
2.32 | 45 | #if($elementTagName == "select" || $elementTagName == "input" || $elementTagName == "textarea") |
![]() |
2.98 | 46 | <p${requiredCSSClass}${makeFocusable}> |
![]() |
2.32 | 47 | <label for="${elementDataObj.id}_${elementTagName}"> |
![]() |
2.28 | 48 | $elementDataObj.label |
49 | <span class="input-wrap${addedCSSClass}"> | ||
![]() |
2.32 | 50 | #if($elementTagName == "select") |
![]() |
2.98 | 51 | #createSelectElement($elementDataObj $elementTagName) |
![]() |
2.32 | 52 | #elseif($elementTagName == "textarea") |
![]() |
2.98 | 53 | #createTextareaElement($elementDataObj $elementTagName) |
![]() |
2.28 | 54 | #else |
55 | #if($elementType == "text") | ||
![]() |
2.98 | 56 | #createTextElement($elementDataObj $elementType) |
![]() |
2.28 | 57 | #elseif($elementType == "number") |
![]() |
2.91 | 58 | #if(!$elementDataObj.data-decimals)#set($elementDataObj.data-decimals = 0)#end |
![]() |
2.92 | 59 | #if(!$elementDataObj.decimals-step)#set($elementDataObj.decimals-step = 1)#end |
![]() |
2.98 | 60 | #createNumberElement($elementDataObj $elementType) |
![]() |
2.28 | 61 | #elseif($elementType == "email") |
![]() |
2.98 | 62 | #createEmailElement($elementDataObj $elementType) |
![]() |
2.101 | 63 | #elseif($elementType == "password") |
![]() |
2.100 | 64 | #createPasswordElement($elementDataObj $elementType) |
![]() |
2.28 | 65 | #elseif($elementType == "range") |
![]() |
2.98 | 66 | #if($elementDataObj.range-minmax) |
67 | #set($minmax = $elementDataObj.range-minmax.split('-')) | ||
68 | #if($minmax.size() == 2) | ||
69 | #set($elementDataObj.range-min = $minmax[0]) | ||
70 | #set($elementDataObj.range-max = $minmax[1]) | ||
71 | #end | ||
72 | #else | ||
73 | #set($elementDataObj.range-min = 0) | ||
74 | #set($elementDataObj.range-max = 100) | ||
75 | #end | ||
76 | #createRangeElement($elementDataObj $elementType) | ||
77 | #elseif($elementType == "date") | ||
78 | #createDateElement($elementDataObj $elementType) | ||
79 | #elseif($elementType == "color") | ||
80 | #createColorElement($elementDataObj $elementType) | ||
81 | #elseif($elementType == "tel") | ||
82 | #createTelElement($elementDataObj $elementType) | ||
83 | #elseif($elementType == "url") | ||
84 | #createUrlElement($elementDataObj $elementType) | ||
![]() |
2.28 | 85 | #end |
86 | #end | ||
![]() |
2.89 | 87 | #if($elementDataObj.help-block && $elementDataObj.help-block != "") |
![]() |
2.28 | 88 | <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span> |
89 | #end | ||
![]() |
2.80 | 90 | #if($elementDataObj.required == "true") |
![]() |
2.28 | 91 | <span class="required-input-field" title="Required input"></span> |
![]() |
2.98 | 92 | #end |
![]() |
2.28 | 93 | <span role="alert" class="form-not-valid-tip"></span> |
94 | </span> | ||
95 | </label> | ||
96 | </p> | ||
97 | #end | ||
![]() |
2.32 | 98 | #if($elementTagName == "checkradio") |
![]() |
2.66 | 99 | <p${requiredCSSClass}> |
100 | <span class="input-wrap${addedCSSClass}"> | ||
101 | <span class="fieldset no-fieldset-border"> | ||
![]() |
2.81 | 102 | <label for="${elementDataObj.id}" class="strong"> |
![]() |
2.28 | 103 | #if($elementType == "checkbox") |
![]() |
2.67 | 104 | #createCheckboxElement($elementDataObj) |
![]() |
2.28 | 105 | #elseif($elementType == "radio") |
106 | #end | ||
![]() |
2.66 | 107 | </label> |
108 | </span> | ||
109 | </span> | ||
110 | </p> | ||
![]() |
2.28 | 111 | #end |
112 | #if($hint != "") | ||
113 | <p class="box errormessage">${hint}</p> | ||
114 | #end | ||
![]() |
2.23 | 115 | #end |
![]() |
2.98 | 116 | |
![]() |
2.65 | 117 | #macro(createSelectElement $O_elementData $O_tagName) |
![]() |
2.98 | 118 | <select class="form-select form-control"#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#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 data-set-space="${O_elementData.data-set-space}"#if($O_elementData.select-spaces-json) data-select-spaces-json="true"#end name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}"> |
![]() |
2.81 | 119 | #if($O_elementData.placeholder) |
![]() |
2.74 | 120 | <option value="" disabled="" selected="" hidden="hidden">${O_elementData.placeholder}</option> |
![]() |
2.81 | 121 | #end |
![]() |
2.98 | 122 | #set ($mydoc = $xwiki.getDocument('assets.pagemaker.pagemakerClass')) |
123 | #if($mydoc.isNew() && $hasProgramming) | ||
124 | #set ($myinternaldoc = $mydoc.getDocument()) | ||
125 | #set ($myclass = $myinternaldoc.getXClass()) | ||
126 | #set ($discard = $myclass.addTextField("pmSpaceOrder", "pageMaker space order", 10)) | ||
127 | #set ($discard = $mydoc.save()) | ||
128 | #end | ||
129 | #set($removedNr = 0) | ||
130 | |||
![]() |
2.93 | 131 | #if($O_elementData.select-space-reference) |
![]() |
2.98 | 132 | #set($space = $O_elementData.select-space-reference) |
133 | #set($codespace = "") | ||
134 | #if($xwiki.getSpaces().contains("${space}.${space}Code")) | ||
135 | #set($codespace = "${space}Code") | ||
136 | #elseif($xwiki.getSpaces().contains("${space}.Code")) | ||
137 | #set($codespace = "Code") | ||
138 | #elseif($xwiki.getSpaces().contains("${space}.code")) | ||
139 | #set($codespace = "code") | ||
![]() |
2.93 | 140 | #end |
![]() |
2.98 | 141 | |
![]() |
2.103 | 142 | #if(!$isGuest) |
143 | ## Add XObjects to current child spaces so the spaces can be queried on the XObject to generate the select options. | ||
144 | #set($nameExcludeRef = $codespace) | ||
145 | #set($spaceAbsRef = $space.replaceAll('([%_!])', '!$1')) | ||
146 | #set($query_add_xobj = $services.query.xwql("select space.name from XWikiSpace as space where space.parent = :space and space.name <> :nameExclude and space.name <> 'WebPreferences' order by space.name")) | ||
147 | #set($result_add_xobj = $query_add_xobj.bindValue('space', $spaceAbsRef).bindValue('nameExclude', $nameExcludeRef).addFilter('unique').execute()) | ||
148 | #foreach($item in $result_add_xobj) | ||
149 | #set($doc = $xwiki.getDocument("${space}.${item}.WebHome")) | ||
150 | #set($rightXObj = $doc.getObject("assets.pagemaker.pagemakerClass", true)) | ||
151 | #set($discard = $rightXObj.set('pmSpaceOrder', $foreach.count)) | ||
152 | #set($discard = $doc.save()) | ||
153 | #end | ||
154 | #end | ||
![]() |
2.106 | 155 | |
![]() |
2.98 | 156 | #set($spaceExcludeRef = $space.replaceAll('([%_!])', '!$1').concat(".${codespace}")) |
157 | #set($spaceLikeRef = $space.replaceAll('([%_!])', '!$1').concat('.%')) | ||
158 | #set($query = $services.query.xwql("from doc.object(assets.pagemaker.pagemakerClass) met where doc.space like :space and doc.space <> :spaceExclude and doc.name <> 'WebPreferences' order by met.pmSpaceOrder asc")) | ||
![]() |
2.103 | 159 | #set($result = $query.bindValue('space', $spaceLikeRef).bindValue('spaceExclude', $spaceExcludeRef).addFilter('unique').execute()) |
![]() |
2.98 | 160 | |
161 | ## Generate the select options from all child spaces that have the 'assets.pagemaker.pagemakerClass' XClass. | ||
162 | ## The order is still random but the JSON can be extracted from the console with the 'select-spaces-json' attribute. | ||
163 | #foreach($item in $result) | ||
164 | #set($doc = $xwiki.getDocument($item)) | ||
165 | <option value="$doc.space">$doc.getTitle()</option> | ||
166 | #end | ||
![]() |
2.93 | 167 | #elseif($O_elementData.select-json) |
![]() |
2.98 | 168 | #set($json = $O_elementData.select-json) |
169 | #foreach($key in $json.keySet()) | ||
170 | #set($spaceDocTitle = $json.get($key)) | ||
171 | #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name. | ||
![]() |
2.106 | 172 | #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object. |
![]() |
2.98 | 173 | #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count)) |
174 | #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle)) | ||
175 | #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale. | ||
176 | #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title. | ||
177 | #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale. | ||
178 | #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. | ||
179 | #set($discard = $spaceDoc.save()) | ||
180 | #else | ||
181 | #if($title_error) ## Doc did exist but the title did not match with the JSON value. | ||
182 | #set($discard = $spaceDoc.setTitle($spaceDocTitle)) | ||
183 | #end | ||
184 | #if($order_error) ## Either the property does not exist or the value is incorrect. | ||
185 | #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value. | ||
186 | #end | ||
187 | #if($title_error || $order_error) ## Save only if changed | ||
188 | #set($discard = $spaceDoc.save()) | ||
189 | #end | ||
190 | #end | ||
191 | <option value="$key">$json.get($key)</option> | ||
![]() |
2.93 | 192 | #end |
![]() |
1.2 | 193 | #end |
194 | </select> | ||
![]() |
2.98 | 195 | #if($removedNr > 0) |
196 | $removedNr pages had the XObject ##${removeXObj}## removed. | ||
197 | #end | ||
![]() |
1.2 | 198 | #end |
![]() |
2.65 | 199 | #macro(createTextElement $O_elementData $O_tagName) |
![]() |
2.98 | 200 | <input type="text" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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-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> |
![]() |
2.27 | 201 | #end |
![]() |
2.87 | 202 | #macro(createNumberElement $O_elementData $O_tagName) |
![]() |
2.98 | 203 | <input type="number" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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> |
![]() |
2.87 | 204 | #end |
![]() |
2.98 | 205 | #macro(createEmailElement $O_elementData $O_tagName) |
206 | <input type="email" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off" pattern="^[A-Za-z0-9._+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,63}$"#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> | ||
207 | #end | ||
208 | #macro(createPasswordElement $O_elementData $O_tagName) | ||
209 | <input type="password" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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> | ||
210 | #end | ||
211 | #macro(createDateElement $O_elementData $O_tagName) | ||
212 | <input type="date" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}"#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> | ||
213 | #end | ||
214 | #macro(createColorElement $O_elementData $O_tagName) | ||
215 | <input type="color" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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> | ||
216 | #end | ||
217 | #macro(createRangeElement $O_elementData $O_tagName) | ||
218 | <input type="range" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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> | ||
219 | #end | ||
220 | #macro(createTelElement $O_elementData $O_tagName) | ||
221 | <input type="tel" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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(createUrlElement $O_elementData $O_tagName) | ||
224 | <input type="url" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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> | ||
225 | #end | ||
![]() |
2.66 | 226 | #macro(createCheckboxElement $O_elementData) |
![]() |
2.98 | 227 | <input type="checkbox" name="${O_elementData.id}" id="${O_elementData.id}"#if($O_elementData.data-opener) data-opener="${O_elementData.data-opener}"#end value="${O_elementData.value}"#if($O_elementData.required == "true") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#end>$O_elementData.label |
![]() |
2.66 | 228 | #end |
![]() |
2.98 | 229 | #macro(createTextareaElement $O_elementData $O_tagName) |
230 | <textarea class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}"#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> | ||
![]() |
2.68 | 231 | #end |
![]() |
2.98 | 232 | #macro(createExpandStart $opener $value) |
233 | <div id="${opener.id}_section_#if($value)${value}#else${opener.value}#end" class="togglee"> | ||
234 | #end | ||
![]() |
2.69 | 235 | #macro(createExpandEnd) |
![]() |
2.68 | 236 | </div> |
237 | #end | ||
![]() |
2.79 | 238 | #macro(createSubmit $O_submit) |
239 | <div class="clearfix"> | ||
![]() |
2.98 | 240 | <p class="alert alert-warning alert-button-float-right"> |
![]() |
2.79 | 241 | <span class="alert-button pull-right"> |
242 | #if ($xcontext.user != 'XWiki.XWikiGuest') | ||
243 | <input type="submit" class="btn btn-primary" id="${O_submit.id}" name="${O_submit.id}" value="${O_submit.button-text}" /> | ||
244 | #else | ||
245 | <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a> | ||
246 | #end | ||
247 | </span> | ||
248 | <span class="alert-text"> | ||
249 | ${O_submit.help-block} | ||
250 | </span> | ||
251 | </p> | ||
252 | </div> | ||
253 | #end | ||
![]() |
1.2 | 254 | {{/velocity}} |