Changes for page Macros
Last modified by Jip-jan Alunkel on April 15, 18:09
From 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
To version 2.34
edited by Jip-jan Alunkel
on March 28, 15:07
on March 28, 15:07
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,36 +1,72 @@ 1 1 {{velocity}} 2 2 #macro(createFormElement $elementDataObj) 3 3 #set($elementType = $elementDataObj.type) 4 + #set($elementTagName = '') 5 + #set($requiredAttributes = 'aria-required="false"') 6 + #set($requiredCSSClass = '') 7 + #set($addedCSSClass = '') 8 + #set($hint = '') 9 + #if($O_elementData.required == true) 10 + #set($requiredAttributes = 'aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"') 11 + #set($requiredCSSClass = ' class="required"') 12 + #end 4 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") 14 + #set($addedCSSClass = " select-wrap") 15 + #set($elementTagName = "select") 16 + #elseif($elementType == "text" || $elementType == "number" || $elementType == "range" || $elementType == "email") 17 + #set($elementTagName = "input") 18 + #elseif($elementType == "checkbox" || $elementType == "radio") 19 + #set($elementTagName = "checkradio") 13 13 #elseif($elementType == "textarea") 21 + #set($elementTagName = "textarea") 14 14 #else 15 15 #set($hint = "This type of element does not exist, read the manual for more information about element types.") 16 16 #end 17 -#end 18 - 19 -#macro(createSelectElement $O_elementData) 20 20 {{html}} 21 - #set($requiredAttributes = 'aria-required="false"') 22 - #if($O_elementData.required == true) 23 - #set($requiredAttributes = 'aria-required="true" required="required"') 24 - <p class="required"> 26 + #if($elementTagName == "select" || $elementTagName == "input" || $elementTagName == "textarea") 27 + <p${requiredCSSClass}> 28 + <label for="${elementDataObj.id}_${elementTagName}"> 29 + $elementDataObj.label 30 + <span class="input-wrap${addedCSSClass}"> 31 + #if($elementTagName == "select") 32 + #createSelectElement($elementDataObj $elementTagName $requiredAttributes) 33 + #elseif($elementTagName == "textarea") 34 + #else 35 + #if($elementType == "text") 36 + #createTextElement($elementDataObj $elementTagName $requiredAttributes) 37 + #elseif($elementType == "number") 38 + #elseif($elementType == "email") 39 + #elseif($elementType == "range") 40 + #end 41 + #end 42 + #if($elementDataObj.help-block != "") 43 + <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span> 44 + #end 45 + #if($elementDataObj.required == true) 46 + <span class="required-input-field" title="Required input"></span> 47 + <span role="alert" class="form-not-valid-tip"></span> 48 + #end 49 + </span> 50 + </label> 51 + </p> 25 25 #end 26 - <label for="${O_elementData.id}_select"> 27 - $O_elementData.label 28 - <span class="input-wrap select-wrap"> 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"> 53 + #if($elementTagName == "checkradio") 54 + #if($elementType == "checkbox") 55 + #elseif($elementType == "radio") 56 + #end 57 + #end 58 + #if($hint != "") 59 + <p class="box errormessage">${hint}</p> 60 + #end 61 +{{/html}} 62 +#end 63 + 64 +#macro(createSelectElement $O_elementData $O_tagName $O_requiredAttributes) 65 + <select class="form-select form-control" aria-label="${O_elementData.aria-label}" aria-describedby="${O_elementData.id}_helpBlock" ${O_requiredAttributes}data-set-space="${O_elementData.data-set-space}" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}"> 30 30 <option value="" disabled="" selected="" hidden="hidden">$services.localization.render(${O_elementData.placeholder})</option> 31 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 33 - #set 68 + #set($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%')) 69 + #set($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code')) 34 34 #set($query = $query.bindValue('space', $spaceLikeRef)) 35 35 #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef)) 36 36 #set($results = $query.addFilter('unique').execute()) ... ... @@ -39,33 +39,23 @@ 39 39 <option value="$document.space">$document.getTitle()</option> 40 40 #end 41 41 </select> 42 - <span id="${O_elementData.id}_helpBlock" class="help-block">${O_elementData.help-block}</span> 43 - #if($O_elementData.required == true) 44 - <span class="required-input-field" title="Required input"></span> 45 - <span role="alert" class="form-not-valid-tip"></span> 46 - #end 47 - </span> 48 - </label> 49 - #if($O_elementData.required == true) 50 - </p> 51 - #end 52 -{{/html}} 53 53 #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}} 79 +#macro(createTextElement $O_elementData $O_tagName $O_requiredAttributes) 80 +#set($dataAttributes = '') 81 +#if($O_elementData.data-query-type) #set($dataAttributes = ' data-query-type="${O_elementData.data-query-type}"')#end 82 +#if($O_elementData.data-query-list-type) #set($dataAttributes = '${dataAttributes} data-query-list-type="${O_elementData.data-query-list-type}"')#end 83 +#if($O_elementData.data-query-list-contents) #set($dataAttributes = '${dataAttributes} data-query-list-contents="${O_elementData.data-query-list-contents}"')#end 84 +#if($O_elementData.data-create-page) #set($dataAttributes = '${dataAttributes} data-create-page="${O_elementData.data-create-page}"')#end 85 +#if($O_elementData.data-query-scope) #set($dataAttributes = '${dataAttributes} data-query-scope="${O_elementData.data-query-scope}"')#end 86 +#if($O_elementData.data-create-xobj) #set($dataAttributes = '${dataAttributes} data-create-xobj="${O_elementData.data-create-xobj}"')#end 87 +#if($O_elementData.data-xobj-classname) #set($dataAttributes = '${dataAttributes} data-xobj-classname="${O_elementData.data-xobj-classname}"')#end 88 +#if($O_elementData.data-xobj-fieldname) #set($dataAttributes = '${dataAttributes} data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"')#end 89 +#if($O_elementData.data-query-list-editable) #set($dataAttributes = '${dataAttributes} data-query-list-editable="${O_elementData.data-query-list-editable}"')#end 90 + <input type="text" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off" placeholder="$services.localization.render(${O_elementData.placeholder})" aria-describedby="${O_elementData.id}_helpBlock"${O_requiredAttributes} aria-label="${O_elementData.aria-label}"${dataAttributes}> 68 68 #end 69 69 93 +id 94 + 95 + 70 70 {{/velocity}} 71 71