Modifications pour le document Macros

Modifié par Jip-jan Alunkel le avril 15, 18:09

Depuis la version 2.18
modifié par Jip-jan Alunkel
sur mars 24, 15:48
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 2.27
modifié par Jip-jan Alunkel
sur mars 25, 00:05
Commentaire de modification : Il n'y a aucun commentaire pour cette version

Résumé

Détails

Propriétés de la Page
Contenu
... ... @@ -1,36 +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($elementDataObj.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="${elementDataObj.id}_select">
24 - $elementDataObj.label
26 + <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="${elementDataObj.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(${elementDataObj.placeholder})</option>
28 -## #set ($spaceRef = $elementDataObj.space-reference)
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>
29 29   #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"))
30 - #set ($spaceLikeRef = $elementDataObj.space-reference.replaceAll('([%_!])', '!$1').concat('.%'))
31 - #set ($spaceExcludeRef = $elementDataObj.space-reference.replaceAll('([%_!])', '!$1').concat('.Code'))
32 + #set ($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%'))
33 + #set ($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code'))
32 32   #set($query = $query.bindValue('space', $spaceLikeRef))
33 - #set($query = $query.bindValue('spaceExclude', '${spaceExcludeRef}'))
35 + #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef))
34 34   #set($results = $query.addFilter('unique').execute())
35 35   #foreach ($item in $results)
36 36   #set ($document = $xwiki.getDocument($item))
... ... @@ -37,21 +37,33 @@
37 37   <option value="$document.space">$document.getTitle()</option>
38 38   #end
39 39   </select>
40 - <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span>
41 - #if($elementDataObj.required == true)
42 + <span id="${O_elementData.id}_helpBlock" class="help-block">${O_elementData.help-block}</span>
43 + #if($O_elementData.required == true)
42 42   <span class="required-input-field" title="Required input"></span>
43 43   <span role="alert" class="form-not-valid-tip"></span>
44 44   #end
45 45   </span>
46 46   </label>
47 -$spaceExcludeRef
48 - #if($elementDataObj.required == true)
49 + #if($O_elementData.required == true)
49 49   </p>
50 50   #end
52 +{{/html}}
51 51  #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
52 52  
53 -#createSelectElement($localitySelectElement)
54 -$localitySelectElement.id
55 -
56 56  {{/velocity}}
57 57