Codice sorgente Wiki di Macros
Version 2.87 by Jip-jan Alunkel on aprile 10, 16:29
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity}} | ||
2 | #macro(createFormStart $id $product) | ||
3 | <form action="" id="${id}" method="post" class="formMaker" data-form-product="${product}" novalidate="novalidate"> | ||
4 | #end | ||
5 | #macro(createFormEnd) | ||
6 | <div role="alert" class="form-response-output form-validation-errors" style="display: none"> | ||
7 | <p> | ||
8 | $services.localization.render('formMaker.line.global_error_msg') | ||
9 | </p> | ||
10 | </div> | ||
11 | <div role="alert" class="form-response-output form-validation-ok" style="display: none"> | ||
12 | <p> | ||
13 | $services.localization.render('formMaker.line.global_ok_msg') | ||
14 | </p> | ||
15 | </div> | ||
16 | </form> | ||
17 | #end | ||
18 | #macro(createFormElement $elementDataObj) | ||
19 | #set($elementType = $elementDataObj.type) | ||
20 | #set($elementTagName = '') | ||
21 | #set($requiredAttributes = 'aria-required="false"') | ||
22 | #set($requiredCSSClass = '') | ||
23 | #set($addedCSSClass = '') | ||
24 | #set($hint = '') | ||
25 | #if($elementDataObj.required == "true") | ||
26 | #set($requiredCSSClass = ' class="required"') | ||
27 | #end | ||
28 | #if($elementType == "select") | ||
29 | #set($addedCSSClass = " select-wrap") | ||
30 | #set($elementTagName = "select") | ||
31 | #elseif($elementType == "text" || $elementType == "number" || $elementType == "range" || $elementType == "email") | ||
32 | #set($elementTagName = "input") | ||
33 | #elseif($elementType == "checkbox" || $elementType == "radio") | ||
34 | #set($addedCSSClass = " checkradio") | ||
35 | #set($elementTagName = "checkradio") | ||
36 | #elseif($elementType == "textarea") | ||
37 | #set($elementTagName = "textarea") | ||
38 | #else | ||
39 | #set($hint = "This type of element does not exist, read the manual for more information about element types.") | ||
40 | #end | ||
41 | #if($elementTagName == "select" || $elementTagName == "input" || $elementTagName == "textarea") | ||
42 | <p${requiredCSSClass}> | ||
43 | <label for="${elementDataObj.id}_${elementTagName}"> | ||
44 | $elementDataObj.label | ||
45 | <span class="input-wrap${addedCSSClass}"> | ||
46 | #if($elementTagName == "select") | ||
47 | #createSelectElement($elementDataObj $elementTagName $requiredAttributes) | ||
48 | #elseif($elementTagName == "textarea") | ||
49 | #else | ||
50 | #if($elementType == "text") | ||
51 | #createTextElement($elementDataObj $elementType $requiredAttributes) | ||
52 | #elseif($elementType == "number") | ||
53 | #createNumberElement($elementDataObj $elementType $requiredAttributes) | ||
54 | #elseif($elementType == "email") | ||
55 | #elseif($elementType == "range") | ||
56 | #end | ||
57 | #end | ||
58 | #if($elementDataObj.help-block != "") | ||
59 | <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span> | ||
60 | #end | ||
61 | #if($elementDataObj.required == "true") | ||
62 | <span class="required-input-field" title="Required input"></span> | ||
63 | <span role="alert" class="form-not-valid-tip"></span> | ||
64 | #end | ||
65 | </span> | ||
66 | </label> | ||
67 | </p> | ||
68 | #end | ||
69 | #if($elementTagName == "checkradio") | ||
70 | <p${requiredCSSClass}> | ||
71 | <span class="input-wrap${addedCSSClass}"> | ||
72 | <span class="fieldset no-fieldset-border"> | ||
73 | <label for="${elementDataObj.id}" class="strong"> | ||
74 | #if($elementType == "checkbox") | ||
75 | |||
76 | #createCheckboxElement($elementDataObj) | ||
77 | |||
78 | #elseif($elementType == "radio") | ||
79 | #end | ||
80 | </label> | ||
81 | </span> | ||
82 | </span> | ||
83 | </p> | ||
84 | #end | ||
85 | #if($hint != "") | ||
86 | <p class="box errormessage">${hint}</p> | ||
87 | #end | ||
88 | #end | ||
89 | #macro(createSelectElement $O_elementData $O_tagName) | ||
90 | <select class="form-select form-control"#if($O_elementData.aria-label) aria-label="${O_elementData.aria-label}"#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 data-set-space="${O_elementData.data-set-space}" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}"> | ||
91 | #if($O_elementData.placeholder) | ||
92 | <option value="" disabled="" selected="" hidden="hidden">${O_elementData.placeholder}</option> | ||
93 | #end | ||
94 | #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")) | ||
95 | #set($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%')) | ||
96 | #set($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code')) | ||
97 | #set($query = $query.bindValue('space', $spaceLikeRef)) | ||
98 | #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef)) | ||
99 | #set($results = $query.addFilter('unique').execute()) | ||
100 | #foreach ($item in $results) | ||
101 | #set ($document = $xwiki.getDocument($item)) | ||
102 | <option value="$document.space">$document.getTitle()</option> | ||
103 | #end | ||
104 | </select> | ||
105 | #end | ||
106 | #macro(createTextElement $O_elementData $O_tagName) | ||
107 | <input type="text" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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-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-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#if($O_elementData.data-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"')#end> | ||
108 | #end | ||
109 | #macro(createNumberElement $O_elementData $O_tagName) | ||
110 | <input type="number" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" 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-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-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#if($O_elementData.data-query-list-editable) data-query-list-editable="${O_elementData.data-query-list-editable}"')#end> | ||
111 | #end | ||
112 | #macro(createCheckboxElement $O_elementData) | ||
113 | <input type="checkbox" name="${O_elementData.id}" id="${O_elementData.id}" data-mod-display="${O_elementData.id}_checkradio" value="${O_elementData.value}"#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>$O_elementData.label | ||
114 | #end | ||
115 | #macro(createExpandStart $id $value) | ||
116 | <div id="${id}_section_${value}" class="togglee"> | ||
117 | #end | ||
118 | #macro(createExpandEnd) | ||
119 | </div> | ||
120 | #end | ||
121 | #macro(createSubmit $O_submit) | ||
122 | <div class="clearfix"> | ||
123 | <p class="alert alert-warning alert-button-float-right"> | ||
124 | <span class="alert-button pull-right"> | ||
125 | #if ($xcontext.user != 'XWiki.XWikiGuest') | ||
126 | <input type="submit" class="btn btn-primary" id="${O_submit.id}" name="${O_submit.id}" value="${O_submit.button-text}" /> | ||
127 | #else | ||
128 | <a data-toggle="modal" data-target="#displayLogin" href="#" class="btn btn-primary">$services.localization.render('login')</a> | ||
129 | #end | ||
130 | </span> | ||
131 | <span class="alert-text"> | ||
132 | ${O_submit.help-block} | ||
133 | </span> | ||
134 | </p> | ||
135 | </div> | ||
136 | #end | ||
137 | {{/velocity}} |