Исходный код вики form-elements

Версия 2.74 от Jip-jan Alunkel на марта 31, 17:55

Последние авторы
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
6 #macro(createFormEnd)
7 </form>
8 #end
9
10 #macro(createFormElement $elementDataObj)
11 #set($elementType = $elementDataObj.type)
12 #set($elementTagName = '')
13 #set($requiredAttributes = 'aria-required="false"')
14 #set($requiredCSSClass = '')
15 #set($addedCSSClass = '')
16 #set($hint = '')
17 #if($elementDataObj.required == "yes")
18 #set($requiredCSSClass = ' class="required"')
19 #end
20 #if($elementType == "select")
21 #set($addedCSSClass = " select-wrap")
22 #set($elementTagName = "select")
23 #elseif($elementType == "text" || $elementType == "number" || $elementType == "range" || $elementType == "email")
24 #set($elementTagName = "input")
25 #elseif($elementType == "checkbox" || $elementType == "radio")
26 #set($addedCSSClass = " checkradio")
27 #set($elementTagName = "checkradio")
28 #elseif($elementType == "textarea")
29 #set($elementTagName = "textarea")
30 #else
31 #set($hint = "This type of element does not exist, read the manual for more information about element types.")
32 #end
33 #if($elementTagName == "select" || $elementTagName == "input" || $elementTagName == "textarea")
34 <p${requiredCSSClass}>
35 <label for="${elementDataObj.id}_${elementTagName}">
36 $elementDataObj.label
37 <span class="input-wrap${addedCSSClass}">
38 #if($elementTagName == "select")
39 #createSelectElement($elementDataObj $elementTagName $requiredAttributes)
40 #elseif($elementTagName == "textarea")
41 #else
42 #if($elementType == "text")
43 #createTextElement($elementDataObj $elementType $requiredAttributes)
44 #elseif($elementType == "number")
45 #elseif($elementType == "email")
46 #elseif($elementType == "range")
47 #end
48 #end
49 #if($elementDataObj.help-block != "")
50 <span id="${elementDataObj.id}_helpBlock" class="help-block">${elementDataObj.help-block}</span>
51 #end
52 #if($elementDataObj.required == "yes")
53 <span class="required-input-field" title="Required input"></span>
54 <span role="alert" class="form-not-valid-tip"></span>
55 #end
56 </span>
57 </label>
58 </p>
59 #end
60 #if($elementTagName == "checkradio")
61 <p${requiredCSSClass}>
62 <span class="input-wrap${addedCSSClass}">
63 <span class="fieldset no-fieldset-border">
64 <label for="${elementDataObj.id}_${elementTagName}" class="strong">
65 #if($elementType == "checkbox")
66
67 #createCheckboxElement($elementDataObj)
68
69 #elseif($elementType == "radio")
70 #end
71 </label>
72 </span>
73 </span>
74 </p>
75 #end
76 #if($hint != "")
77 <p class="box errormessage">${hint}</p>
78 #end
79 #end
80
81 ##if($O_elementData.required == "yes") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end
82 #macro(createSelectElement $O_elementData $O_tagName)
83 <select class="form-select form-control" aria-label="${O_elementData.aria-label}" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "yes") 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}">
84 <option value="" disabled="" selected="" hidden="hidden">${O_elementData.placeholder}</option>
85 #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"))
86 #set($spaceLikeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.%'))
87 #set($spaceExcludeRef = $O_elementData.space-reference.replaceAll('([%_!])', '!$1').concat('.Code'))
88 #set($query = $query.bindValue('space', $spaceLikeRef))
89 #set($query = $query.bindValue('spaceExclude', $spaceExcludeRef))
90 #set($results = $query.addFilter('unique').execute())
91 #foreach ($item in $results)
92 #set ($document = $xwiki.getDocument($item))
93 <option value="$document.space">$document.getTitle()</option>
94 #end
95 </select>
96 #end
97
98 #macro(createTextElement $O_elementData $O_tagName)
99 <input type="text" class="form-control full" name="${O_elementData.id}_${O_tagName}" id="${O_elementData.id}_${O_tagName}" autocomplete="off" placeholder="${O_elementData.placeholder}" aria-describedby="${O_elementData.id}_helpBlock"#if($O_elementData.required == "yes") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end aria-label="${O_elementData.aria-label}"#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-suggest-list-header) data-suggest-list-header="${O_elementData.data-suggest-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>
100 #end
101
102 #macro(createCheckboxElement $O_elementData)
103 <input type="checkbox" name="${O_elementData.id}" id="${O_elementData.id}" data-mod-display="${O_elementData.id}" value="${O_elementData.value}"#if($O_elementData.required == "yes") aria-required="true" required="required" data-error-response-type="${O_elementData.data-error-response-type}"#else aria-required="false"#end>$O_elementData.label
104 #end
105
106 #macro(createExpandStart $id $value)
107 <div id="${id}_section_${value}" class="togglee">
108 #end
109
110 #macro(createExpandEnd)
111 </div>
112 #end
113
114 {{/velocity}}