%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/waritko/jetty-distribution-9.4.21.v20190926/webapps/ROOT/templates/flavor/
Upload File :
Create Path :
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

Zerion Mini Shell 1.0