Modifications pour le document Macros
Modifié par Jip-jan Alunkel le avril 15, 18:09
Depuis la version 2.24
modifié par Jip-jan Alunkel
sur mars 24, 17:37
sur mars 24, 17:37
Commentaire de modification :
Il n'y a aucun commentaire pour cette version
À la version 2.29
modifié par Jip-jan Alunkel
sur mars 26, 00:05
sur mars 26, 00:05
Commentaire de modification :
Il n'y a aucun commentaire pour cette version
Résumé
-
Propriétés de la Page (1 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Contenu
-
... ... @@ -1,41 +1,71 @@ 1 1 {{velocity}} 2 -#* 3 -#set($localitySelectElement = { 4 - "id" : "locality", 5 - "type" : "select", 6 - "required" : true, 7 - "label" : "Locality of the main complaint", 8 - "aria-label" : "Select the locality", 9 - "data-error-response-type" : "use_label_defined_1", 10 - "data-set-space" : "true", 11 - "placeholder" : "cases.word.locality_select.placeholder", 12 - "space-reference" : "cases", 13 - "help-block" : "In which physiological or psychological epicenter can the main complaint be placed? Select the best fitting option from this list." 14 -}) 15 -*# 16 - 17 17 #macro(createFormElement $elementDataObj) 18 18 #set($elementType = $elementDataObj.type) 4 + #set($elementGroupName = "") 5 + #set($requiredAttributes = 'aria-required="false"') 6 + #set($requiredCSSClass = '') 7 + #set($addedCSSClass = '') 8 + #if($O_elementData.required == true) 9 + #set($requiredAttributes = 'aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"') 10 + #set($requiredCSSClass = ' class="required"') 11 + #end 19 19 #if($elementType == "select") 20 - #createSelectElement($elementDataObj) 13 + #set($addedCSSClass = " select-wrap") 14 + #set($elementGroupName = "select") 15 + #elseif($elementType == "text" || $elementType == "number" || $elementType == "range" || $elementType == "email") 16 + #set($elementGroupName = "input") 17 + #elseif($elementType == "checkbox" || $elementType == "radio") 18 + #set($elementGroupName = "checkradio") 19 + #elseif($elementType == "textarea") 20 + #set($elementGroupName = "textarea") 21 + #else 22 + #set($hint = "This type of element does not exist, read the manual for more information about element types.") 21 21 #end 22 -#end 23 - 24 -#macro(createSelectElement $O_elementData) 25 25 {{html}} 26 - #set($requiredAttributes = 'aria-required="false"') 27 - #if($O_elementData.required == true) 28 - #set($requiredAttributes = 'aria-required="true" required="required"') 29 - <p class="required"> 25 + #if($elementGroupName == "select" || $elementGroupName == "input" || $elementGroupName == "textarea") 26 + <p${requiredCSSClass}> 27 + <label for="${elementDataObj.id}_${elementGroupName}"> 28 + $elementDataObj.label 29 + <span class="input-wrap${addedCSSClass}"> 30 + #if($elementGroupName == "select") 31 + #createSelectElement($elementDataObj $elementGroupName $requiredAttributes) 32 + #elseif($elementGroupName == "textarea") 33 + #else 34 + #if($elementType == "text") 35 + #createTextElement($elementDataObj $elementGroupName) 36 + #elseif($elementType == "number") 37 + #elseif($elementType == "email") 38 + #elseif($elementType == "range") 39 + #end 40 + #end 41 + #if($elementDataObj.help-block != "") 42 + <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span> 43 + #end 44 + #if($elementDataObj.required == true) 45 + <span class="required-input-field" title="Required input"></span> 46 + <span role="alert" class="form-not-valid-tip"></span> 47 + #end 48 + </span> 49 + </label> 50 + </p> 30 30 #end 31 - <label for="${O_elementData.id}_select"> 32 - $O_elementData.label 33 - <span class="input-wrap select-wrap"> 34 - <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"> 52 + #if($elementGroupName == "checkradio") 53 + #if($elementType == "checkbox") 54 + #elseif($elementType == "radio") 55 + #end 56 + #end 57 + #if($hint != "") 58 + <p class="box errormessage">${hint}</p> 59 + #end 60 +{{/html}} 61 +#end 62 + 63 +#macro(createSelectElement $O_elementData $O_groupName $O_requiredAttributes) 64 + <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}_${groupName}" id="${O_elementData.id}_${groupName}"> 35 35 <option value="" disabled="" selected="" hidden="hidden">$services.localization.render(${O_elementData.placeholder})</option> 36 36 #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")) 37 - #set 38 - #set 67 + #set($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%')) 68 + #set($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code')) 39 39 #set($query = $query.bindValue('space', $spaceLikeRef)) 40 40 #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef)) 41 41 #set($results = $query.addFilter('unique').execute()) ... ... @@ -44,19 +44,22 @@ 44 44 <option value="$document.space">$document.getTitle()</option> 45 45 #end 46 46 </select> 47 - <span id="${O_elementData.id}_helpBlock" class="help-block">${O_elementData.help-block}</span> 48 - #if($O_elementData.required == true) 49 - <span class="required-input-field" title="Required input"></span> 50 - <span role="alert" class="form-not-valid-tip"></span> 51 - #end 52 - </span> 53 - </label> 54 - #if($O_elementData.required == true) 55 - </p> 56 - #end 77 +#end 78 +#macro(createTextElement $O_elementData $O_groupName $O_requiredAttributes) 79 +#set($dataAttributes = '') 80 +#if($O_elementData.data-query-type) #set($dataAttributes = '${dataAttributes} data-query-type="${O_elementData.data-query-type}"')#end 81 +#if($O_elementData.data-query-list-type) #set($dataAttributes = '${dataAttributes} data-query-list-type="${O_elementData.data-query-list-type}"')#end 82 +#if($O_elementData.data-query-list-contents) #set($dataAttributes = '${dataAttributes} data-query-list-contents="${O_elementData.data-query-list-contents}"')#end 83 +#if($O_elementData.data-create-page) #set($dataAttributes = '${dataAttributes} data-create-page="${O_elementData.data-create-page}"')#end 84 +#if($O_elementData.data-query-scope) #set($dataAttributes = '${dataAttributes} data-query-scope="${O_elementData.data-query-scope}"')#end 85 +#if($O_elementData.data-create-xobj) #set($dataAttributes = '${dataAttributes} data-create-xobj="${O_elementData.data-create-xobj}"')#end 86 +#if($O_elementData.data-xobj-classname) #set($dataAttributes = '${dataAttributes} data-xobj-classname="${O_elementData.data-xobj-classname}"')#end 87 +#if($O_elementData.data-xobj-fieldname) #set($dataAttributes = '${dataAttributes} data-xobj-fieldname="${O_elementData.data-xobj-fieldname}"')#end 88 +#if($O_elementData.data-query-list-editable) #set($dataAttributes = '${dataAttributes} data-query-list-editable="${O_elementData.data-query-list-editable}"')#end 89 +{{html}} 90 + <input type="text" class="form-control full" name="${O_elementData.id}_${O_groupName}" id="${O_elementData.id}_${O_groupName}" autocomplete="off" placeholder="$services.localization.render(${O_elementData.placeholder})" aria-describedby="${O_elementData.id}_helpBlock"${O_requiredAttributes} aria-label="${O_elementData.aria-label}"${dataAttributes}> 57 57 {{/html}} 58 58 #end 59 59 60 -##createFormElement($localitySelectElement) 61 61 {{/velocity}} 62 62