%PDF- %PDF-
Direktori : /home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/templates/flavor/ |
Current File : //home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/templates/flavor/macros.vm |
######################################################## ## Display a custom picker to select a flavor. ## ----------------------------- ## ## @param $fieldName name of the input field (has to be a valid XML id) ## @param $defaultValue the default flavor to use (extension id, eg: "org.xwiki.enterprise:xwiki-enterprise-ui-mainwiki-6.4.5") ## @param $firstIsDefaultIfDefaultNull if defaultValue is null, select the first flavor ## @param $cssClass class to add to the div (could be 'xwiki-flavor-select-small', 'xwiki-flavor-select-medium', 'xwiki-flavor-select-tall' or any other class) ## @param $noFlavorButton display the no flavor button ######################################################### #macro(displayFlavorPicker $fieldName $defaultValue $firstIsDefaultIfDefaultNull $cssClass $noFlavorButton $namespace) #if (!$namespace) #set ($namespace = "wiki:$xcontext.database") #end ## TODO: put this in a webjar instead #set($environmentVersion = $services.extension.core.repository.environmentExtension.id.version) #set ($discard = $xwiki.ssfx.use('uicomponents/flavor/picker.css', {'forceSkinAction': true, 'version': $environmentVersion})) #set ($discard = $xwiki.jsfx.use('uicomponents/flavor/picker.js' , {'forceSkinAction': true, 'version': $environmentVersion})) <div class="xwiki-flavor-picker $!cssClass" data-namespace="$escapetool.xml($namespace)"> ## Filter <input type="text" id="${escapetool.xml($fieldName)}_filter" class="xwiki-flavor-picker-filter" placeholder="$escapetool.xml($services.localization.render('flavor.picker.filterPlaceHolder'))" /> ## Results <div class="ui-progress-background hidden" id="xwiki-flavor-picker-progress-background"> <div class="ui-progress-bar green" id="xwiki-flavor-picker-progress-bar"/> #set ($flavorSearchJobStatus = $services.flavor.getSearchValidFlavorsStatus()) ###if ($flavorSearchJobStatus) ## <input type="hidden" value="$flavorSearchJobStatus.state"/> ###else <input type="hidden" value=""/> ###end </div> <div class="xwiki-flavor-picker-results-container"> #displayFlavorPicker_results($fieldName, $defaultValue, $firstIsDefaultIfDefaultNull, 0, $namespace) </div> ## No flavor option #if($noFlavorButton) <input type="radio" name="${escapetool.xml($fieldName)}" value="noFlavor" id="${escapetool.xml($fieldName)}_noFlavor" class="xwiki-flavor-picker-noflavor" #if($defaultValue=='noFlavor')checked="checked"#end> <label for="${escapetool.xml($fieldName)}_noFlavor">$services.localization.render('flavor.picker.noflavor')</label> #end </div> #end ## #macro(displayFlavorPicker_results $fieldName $defaultValue $firstIsDefaultIfDefaultNull $offset $namespace) #if (!$namespace) #set ($namespace = "wiki:$xcontext.database") #end #set ($resultsPerPage = 20) #if ("$!request.filter" != '') #set ($flavorQuery = $services.flavor.createFlavorQuery($request.filter)) #else #set ($flavorQuery = $services.flavor.createFlavorQuery()) #end ##set ($flavorQuery = $flavorQuery.setOffset($offset).setLimit($resultsPerPage)) #set ($flavorSearchJobStatus = $services.flavor.getSearchValidFlavorsStatus($namespace)) #if (!$flavorSearchJobStatus) #set ($flavorSearchJob = $services.flavor.searchValidFlavors($namespace)) #set ($flavorSearchJobStatus = $flavorSearchJob.status) #end #set ($flavors = $flavorSearchJobStatus.flavors) #* #set ($jobFlavors = $flavorSearchJobStatus.flavors) ## TODO: put back pagination ## Apply offset #set ($flavors = $jobFlavors.subList($offset, $jobFlavors.size())) ## Apply limit #if ($resultsPerPage > 0) #if ($resultsPerPage > $flavors.size()) #set($limit = $flavors.size()) #else #set($limit = $resultsPerPage) #end #set ($flavors = $flavors.subList(0, $limit)) #end *# <div class="xwiki-flavor-picker-results"> <input type="hidden" name="fieldName" value="${escapetool.xml($fieldName)}" /> <ul> #* #foreach ($flavor in $flavors) #set ($value = "${flavor.id.id}:::${flavor.id.version}") #if ("$!defaultValue" == $value || ($velocityCount == 1 && $firstIsDefaultIfDefaultNull && "$!defaultValue" == '')) #set ($checked = 'checked="checked"') #set ($class = 'xwiki-flavor-picker-option-selected') #else #set ($checked = '') #set ($class = '') #end <li class="xwiki-flavor-picker-option $class"> <input type="radio" name="${escapetool.xml($fieldName)}" value="$escapetool.xml($value)" id="${escapetool.xml($fieldName)}_${velocityCount}" $checked/> <span class="xwiki-flavor-picker-option-icon">$services.icon.renderHTML('wiki')</span> <div> <label for="${escapetool.xml($fieldName)}_${velocityCount}">#if ("$!flavor.website" != '')<a href="$escapetool.xml($flavor.website)" class="popup">#end#if($flavor.name)$escapetool.xml($flavor.name)#else$flavor.id.id#end#if ("$!flavor.website" != '')</a>#end</label> <small>$flavor.id.version</small> #if($mathtool.round($flavor.rating))<small>#foreach($a in [1..$mathtool.round($flavor.rating)])$services.icon.renderHTML('star')#end</small>#end #if ($flavor.authors.size() > 0) <p class="authors"><small>$services.localization.render('flavor.picker.authorsBy') #foreach($author in $flavor.authors)#if($velocityCount>1), #end#if("$!author.url"!='')<a href="$escapetool.xml($author.url)">#end${author.name}#if("$!author.url"!='')</a>#end#end</small></p> #end #if ("$!flavor.summary" != '') <p class="xHint">$flavor.summary</p> #end </div> </li> #end *# </ul> ## TODO: put back pagination #* #set($paginationParameters = { 'url' : $xwiki.relativeRequestURL, 'totalItems' : $jobFlavors.size(), 'defaultItemsPerPage' : $resultsPerPage, 'position': 'top' }) #pagination($paginationParameters) *# </div> #end