Changes for page Macros

Last modified by Jip-jan Alunkel on April 15, 18:09

From version 2.219
edited by Jip-jan Alunkel
on July 14, 02:25
Change comment: Update document after refactoring.
To version 2.227
edited by Jip-jan Alunkel
on July 14, 18:35
Change comment: Update document after refactoring.

Summary

Details

Page properties
Content
... ... @@ -115,7 +115,7 @@
115 115  #end
116 116  
117 117  #macro(createSelectElement $O_elementData $O_tagName)
118 - <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}"#end#if($O_elementData.select-spaces-json) data-select-spaces-json="true"#end name="${O_elementData.id}" id="${O_elementData.id}">
118 + <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}"#end#if($O_elementData.data-select-spaces-to-json) data-select-spaces-to-json="${O_elementData.data-select-spaces-to-json}"#end name="${O_elementData.id}" id="${O_elementData.id}">
119 119   #if($O_elementData.placeholder)
120 120   #if($O_elementData.select-json && $O_elementData.select-json.keySet().contains($O_elementData.value))
121 121   #else
... ... @@ -162,7 +162,7 @@
162 162   #set($result = $query.bindValue('space', $spaceLikeRef).bindValue('spaceExclude', $spaceExcludeRef).addFilter('unique').execute())
163 163  
164 164   ## Generate the select options from all child spaces that have the 'assets.pagemaker.pagemakerClass' XClass.
165 - ## The order is still random but the JSON can be extracted from the console with the 'select-spaces-json' attribute.
165 + ## The order is still random but the JSON can be extracted from the console with the 'select-spaces-to-json' attribute.
166 166   #foreach($item in $result)
167 167   #set($doc = $xwiki.getDocument($item))
168 168   <option value="$doc.space">$doc.getTitle()</option>
... ... @@ -174,39 +174,33 @@
174 174   #else
175 175   #set($jsondoc = $xwiki.getDocument($O_elementData.select-json))
176 176   #set($jsoncontent = $jsontool.fromString($jsontool.serialize($jsondoc.getContent())))
177 -#set($test = $jsontool.parse($jsoncontent))
178 -$test.CET
179 -#set($assign = "$escapetool.getHash()set($map = $jsoncontent)")
180 - #evaluate($assign)
181 - #set($json = $map)
177 + #set($json = $jsontool.parse($jsoncontent))
182 182   #end
183 183   #foreach($key in $json.keySet())
184 - #if($O_elementData.select-json-spaces == "true")
180 + #if(!$isGuest && $O_elementData.select-json-to-spaces == "true")
185 185   #set($spaceDocTitle = $json.get($key))
186 - #if(!$isGuest)
187 - #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name.
188 - #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object.
189 - #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count))
190 - #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle))
191 - #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale.
192 - #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title.
193 - #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale.
182 + #set($spaceDoc = $xwiki.getDocument("${key}.WebHome")) ## Fetch doc or create one if it does not exist by this name.
183 + #set($spaceXObj = $spaceDoc.getObject("assets.pagemaker.pagemakerClass", true)) ## Get or create the needed object.
184 + #set($order_error = ($spaceXObj.getProperty('pmSpaceOrder').value != $foreach.count))
185 + #set($title_error = ($spaceDoc.getTitle() != $spaceDocTitle))
186 + #if($spaceDoc.isNew()) ## Doc did not exist so spaceDoc needs a title and a default locale.
187 + #set($discard = $spaceDoc.setTitle($spaceDocTitle)) ## Title.
188 + #set($discard = $spaceDoc.setDefaultLocale("en")) ## Locale.
189 + #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value.
190 + #set($discard = $spaceDoc.save())
191 + #else
192 + #if($title_error) ## Doc did exist but the title did not match with the JSON value.
193 + #set($discard = $spaceDoc.setTitle($spaceDocTitle))
194 + #end
195 + #if($order_error) ## Either the property does not exist or the value is incorrect.
194 194   #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value.
197 + #end
198 + #if($title_error || $order_error) ## Save only if changed
195 195   #set($discard = $spaceDoc.save())
196 - #else
197 - #if($title_error) ## Doc did exist but the title did not match with the JSON value.
198 - #set($discard = $spaceDoc.setTitle($spaceDocTitle))
199 - #end
200 - #if($order_error) ## Either the property does not exist or the value is incorrect.
201 - #set($discard = $spaceXObj.set("pmSpaceOrder", $foreach.count)) ## Set the property with the (correct) value.
202 - #end
203 - #if($title_error || $order_error) ## Save only if changed
204 - #set($discard = $spaceDoc.save())
205 - #end
206 206   #end
207 207   #end
208 208   #end
209 - <option value="$key"#if($O_elementData.value=="$key") selected="selected"#end>$json[$key]</option>
203 + <option value="$key"#if($O_elementData.value=="$key") selected="selected"#end>$json[$key]</option>
210 210   #end
211 211   #end
212 212   </select>
... ... @@ -215,7 +215,7 @@
215 215   #end
216 216  #end
217 217  #macro(createTextElement $O_elementData $O_tagName)
218 - <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-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>
212 + <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-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 219  #end
220 220  #macro(createNumberElement $O_elementData $O_tagName)
221 221   <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>