Code source wiki de RatingWidget
Version 5.1 par Pascale STEIMETZ-LE CACHEUX le 2026/03/24 12:54
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{velocity}} | ||
| 2 | #set($currentDoc = $doc.fullName) | ||
| 3 | |||
| 4 | #set($storeDoc = $xwiki.getDocument("Flora.RatingStore3")) | ||
| 5 | #set($objects = $storeDoc.getObjects("Flora.RatingVoteClass3")) | ||
| 6 | |||
| 7 | #set($total = 0) | ||
| 8 | #set($count = 0) | ||
| 9 | |||
| 10 | #foreach($obj in $objects) | ||
| 11 | #if($obj && $obj.getValue("document") == $currentDoc) | ||
| 12 | #set($note = $obj.getValue("note")) | ||
| 13 | #if($note) | ||
| 14 | #set($total = $total + $note) | ||
| 15 | #set($count = $count + 1) | ||
| 16 | #end | ||
| 17 | #end | ||
| 18 | #end | ||
| 19 | |||
| 20 | #if($count > 0) | ||
| 21 | #set($avg = $total / $count) | ||
| 22 | #else | ||
| 23 | #set($avg = 0) | ||
| 24 | #end | ||
| 25 | |||
| 26 | #set($stars = "") | ||
| 27 | #foreach($i in [1..5]) | ||
| 28 | #if($i <= $avg.round()) | ||
| 29 | #set($stars = "$stars★") | ||
| 30 | #else | ||
| 31 | #set($stars = "$stars☆") | ||
| 32 | #end | ||
| 33 | #end | ||
| 34 | {{/velocity}} | ||
| 35 | |||
| 36 | {{html clean="false"}} | ||
| 37 | <style> | ||
| 38 | .flora-rating-wrap { | ||
| 39 | margin-top: 16px; | ||
| 40 | padding-top: 10px; | ||
| 41 | border-top: 1px solid #D9DFEE; | ||
| 42 | display: flex; | ||
| 43 | align-items: center; | ||
| 44 | gap: 14px; | ||
| 45 | flex-wrap: wrap; | ||
| 46 | } | ||
| 47 | .flora-rating-label { | ||
| 48 | font-weight: 600; | ||
| 49 | color: #2A2B69; | ||
| 50 | } | ||
| 51 | .flora-stars button { | ||
| 52 | background: none; | ||
| 53 | border: none; | ||
| 54 | font-size: 22px; | ||
| 55 | cursor: pointer; | ||
| 56 | color: #d4af37; | ||
| 57 | } | ||
| 58 | .flora-stars button:hover { | ||
| 59 | color: #f2c94c; | ||
| 60 | } | ||
| 61 | </style> | ||
| 62 | |||
| 63 | <div class="flora-rating-wrap" data-doc="$doc.fullName"> | ||
| 64 | |||
| 65 | <span class="flora-rating-label">Noter cette page</span> | ||
| 66 | |||
| 67 | <div class="flora-stars"> | ||
| 68 | <button class="flora-star" data-note="1">★</button> | ||
| 69 | <button class="flora-star" data-note="2">★</button> | ||
| 70 | <button class="flora-star" data-note="3">★</button> | ||
| 71 | <button class="flora-star" data-note="4">★</button> | ||
| 72 | <button class="flora-star" data-note="5">★</button> | ||
| 73 | </div> | ||
| 74 | |||
| 75 | <span> | ||
| 76 | {{velocity}}$stars ($count votes){{/velocity}} | ||
| 77 | </span> | ||
| 78 | |||
| 79 | </div> | ||
| 80 | {{/html}} |