Changes for page Macros
Last modified by Jip-jan Alunkel on April 15, 18:09
From version 2.14
edited by Jip-jan Alunkel
on March 24, 15:33
on March 24, 15:33
Change comment:
There is no comment for this version
To version 2.27
edited by Jip-jan Alunkel
on March 25, 00:05
on March 25, 00:05
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,35 +2,38 @@ 1 - 2 2 {{velocity}} 2 +#macro(createFormElement $elementDataObj) 3 + #set($elementType = $elementDataObj.type) 4 + #if($elementType == "select") 5 + #createSelectElement($elementDataObj) 6 + #elseif($elementType == "text") 7 + #createTextElement($elementDataObj) 8 + #elseif($elementType == "number") 9 + #elseif($elementType == "email") 10 + #elseif($elementType == "range") 11 + #elseif($elementType == "checkbox") 12 + #elseif($elementType == "radio") 13 + #elseif($elementType == "textarea") 14 + #else 15 + #set($hint = "This type of element does not exist, read the manual for more information about element types.") 16 + #end 17 +#end 3 3 4 -#set($localitySelectElement = { 5 - "id" : "locality", 6 - "type" : "select", 7 - "required" : true, 8 - "label" : "Locality of the main complaint", 9 - "aria-label" : "Select the locality", 10 - "data-error-response-type" : "use_label_defined_1", 11 - "data-set-space" : "true", 12 - "placeholder" : "cases.word.locality_select.placeholder", 13 - "space-reference" : "cases", 14 - "help-block" : "In which physiological or psychological epicenter can the main complaint be placed? Select the best fitting option from this list." 15 -}) 16 - 17 -#macro(createSelectElement $elementDataObj) 19 +#macro(createSelectElement $O_elementData) 20 +{{html}} 18 18 #set($requiredAttributes = 'aria-required="false"') 19 - #if($elementData Obj.required == true)22 + #if($O_elementData.required == true) 20 20 #set($requiredAttributes = 'aria-required="true" required="required"') 21 21 <p class="required"> 22 22 #end 23 - <label for="${elementData Obj.id}_select">24 - $elementData Obj.label26 + <label for="${O_elementData.id}_select"> 27 + $O_elementData.label 25 25 <span class="input-wrap select-wrap"> 26 - <select class="form-select form-control" aria-label="${elementData Obj.aria-label}" aria-describedby="${elementDataObj.id}_helpBlock" $requiredAttributes data-error-response-type="${elementDataObj.data-error-response-type}" data-set-space="${elementDataObj.data-set-space}" name="${elementDataObj.id}_select" id="${elementDataObj.id}_select">27 - <option value="" disabled="" selected="" hidden="hidden">$services.localization.render(${elementData Obj.placeholder})</option>28 - #set spaceRef= $elementDataObj.space-reference)29 - #set ($space ExcludeRef ="${spaceRef}.Code")30 - #set($ query= $services.query.xwql("fromdoc.object(AppWithinMinutes.MetadataClass) met wheredoc.spaceike:spaceorder by met.dataSpaceName asc"))31 - ###set($query = $query.bindValue('spaceExclude').literal("${spaceExcludeRef}"))32 - #set($query = $query.bindValue('space ').literal("${spaceRef}.").anyChars().query())29 + <select class="form-select form-control" aria-label="${O_elementData.aria-label}" aria-describedby="${O_elementData.id}_helpBlock" $requiredAttributes data-error-response-type="${O_elementData.data-error-response-type}" data-set-space="${O_elementData.data-set-space}" name="${O_elementData.id}_select" id="${O_elementData.id}_select"> 30 + <option value="" disabled="" selected="" hidden="hidden">$services.localization.render(${O_elementData.placeholder})</option> 31 + #set($query = $services.query.xwql("from doc.object(AppWithinMinutes.MetadataClass) met where doc.space like :space and doc.space <> :spaceExclude order by met.dataSpaceName asc")) 32 + #set ($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%')) 33 + #set ($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code')) 34 + #set($query = $query.bindValue('space', $spaceLikeRef)) 35 + #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef)) 33 33 #set($results = $query.addFilter('unique').execute()) 34 34 #foreach ($item in $results) 35 35 #set ($document = $xwiki.getDocument($item)) ... ... @@ -36,20 +36,33 @@ 36 36 <option value="$document.space">$document.getTitle()</option> 37 37 #end 38 38 </select> 39 - <span id="${elementData Obj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span>40 - #if($elementData Obj.required == true)42 + <span id="${O_elementData.id}_helpBlock" class="help-block">${O_elementData.help-block}</span> 43 + #if($O_elementData.required == true) 41 41 <span class="required-input-field" title="Required input"></span> 42 42 <span role="alert" class="form-not-valid-tip"></span> 43 43 #end 44 44 </span> 45 45 </label> 46 - #if($elementData Obj.required == true)49 + #if($O_elementData.required == true) 47 47 </p> 48 48 #end 52 +{{/html}} 49 49 #end 54 +#macro(createTextElement $O_elementData) 55 +{{html}} 56 + <p class="required" contenteditable="true"> 57 + <label for="main_complaint_textinput"> 58 + Main complaint 59 + <span class="input-wrap"> 60 + <input type="text" class="form-control full" name="main_complaint_textinput" id="main_complaint_textinput" placeholder="${services.localization.render('cases.wordgroup.main_complaint.placeholder')}" aria-describedby="main_complaint_helpBlock" aria-required="true" aria-label="Enter the main complaint" required="required" data-error-response-type="use_label_defined_1" data-query-type="XWQL.matchTitle" data-query-list-type="suggest-negate" data-query-list-contents="value" data-create-page="true" data-query-scope="cases" autocomplete="off"> 61 + <span id="main_complaint_helpBlock" class="help-block">Please be as concise as possible when you describe the main complaint. For example: "chronic headache", "intermittend fever" or "diarrhea"</span> 62 + <span class="required-input-field" title="Required input"></span> 63 + <span role="alert" class="form-not-valid-tip"></span> 64 + </span> 65 + </label> 66 + </p> 67 +{{/html}} 68 +#end 50 50 51 -#createSelectElement($localitySelectElement) 52 -$localitySelectElement.id 53 - 54 54 {{/velocity}} 55 55