tazpkg rev 778
pkgs.cgi: show packages icons on package info page using AJAX.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Apr 10 03:37:16 2015 +0300 (2015-04-10) |
parents | cd0d92245a1a |
children | 2a300f362918 |
files | po/fr.po tazpanel/pkgs.cgi |
line diff
1.1 --- a/po/fr.po Fri Apr 10 00:44:32 2015 +0300 1.2 +++ b/po/fr.po Fri Apr 10 03:37:16 2015 +0300 1.3 @@ -1611,7 +1611,7 @@ 1.4 1.5 #: tazpanel/pkgs.cgi:1306 1.6 msgid "Today at %s." 1.7 -msgstr "Aujourd'hui à %s. 1.8 +msgstr "Aujourd'hui à %s." 1.9 1.10 #: tazpanel/pkgs.cgi:1307 1.11 msgid "Yesterday at %s."
2.1 --- a/tazpanel/pkgs.cgi Fri Apr 10 00:44:32 2015 +0300 2.2 +++ b/tazpanel/pkgs.cgi Fri Apr 10 03:37:16 2015 +0300 2.3 @@ -85,11 +85,12 @@ 2.4 pkg=$(GET pkg) 2.5 class='pkg' 2.6 2.7 - if grep -q "^$PACKAGE"$'\t' $PKGS_DB/installed.info; then 2.8 + if grep -q "^$pkg"$'\t' $PKGS_DB/installed.info; then 2.9 class='pkgi' 2.10 - grep -q "^$PACKAGE$" $PKGS_DB/blocked-packages.list && class='pkgib' 2.11 + grep -q "^$pkg$" $PKGS_DB/blocked-packages.list && class='pkgib' 2.12 fi 2.13 2.14 + echo -n "<a data-icon=\"$class\" href=\"?info=\"${pkg//+/%2B}\">$pkg</a>" 2.15 exit 0 ;; 2.16 2.17 esac 2.18 @@ -465,9 +466,11 @@ 2.19 2.20 show_info_links() { 2.21 if [ -n "$1" ]; then 2.22 + if [ "$3" == 'tag' ]; then icon='tag'; else icon='clock'; fi 2.23 echo -n "<tr><td><b>$2</b></td><td>" 2.24 - echo $1 | tr ' ' $'\n' | awk -vt="$3" '{ 2.25 - printf "<a href=\"?%s=%s\">%s</a> ", t, gensub(/\+/, "%2B", "g", $1), $1 2.26 + echo $1 | tr ' ' $'\n' | awk -vt="$3" -vi="$icon" '{ 2.27 + printf "<span><a data-icon=\"%s\" ", i; 2.28 + printf "href=\"?%s=%s\">%s</a></span> ", t, gensub(/\+/, "%2B", "g", $1), $1 2.29 }' 2.30 echo "</td></tr>" 2.31 fi 2.32 @@ -843,7 +846,7 @@ 2.33 </form> 2.34 </header> 2.35 2.36 -<table class="wide zebra summary"> 2.37 +<table class="wide zebra summary" id="infoTable"> 2.38 <tbody> 2.39 <tr><td><b>$(_ 'Name')</b></td><td>$PACKAGE</td></tr> 2.40 <tr><td><b>$(_ 'Version')</b></td><td>$VERSION</td></tr> 2.41 @@ -859,11 +862,25 @@ 2.42 </tbody> 2.43 </table> 2.44 </section> 2.45 +<span id="ajaxStatus" style="display:none"></span> 2.46 + 2.47 +<script type="text/javascript"> 2.48 + var links = document.getElementById('infoTable').getElementsByTagName('a'); 2.49 + for (var i = 0; i < links.length; i++) { 2.50 + console.log('i=%s, icon=%s.', i, links[i].dataset.icon); 2.51 + if (links[i].dataset.icon == 'clock') { 2.52 + links[i].parentNode.id = 'link' + i; 2.53 + pkg = links[i].innerText.replace(/\+/g, '%2B'); 2.54 + ajax('pkgs.cgi?status&pkg=' + pkg, '1', 'link' + i); 2.55 + } 2.56 + } 2.57 + 2.58 +</script> 2.59 EOT 2.60 2.61 # Show description 2.62 DESC="$(tazpkg desc $pkg)" 2.63 - [ -n "$DESC" ] && echo "<section><pre>$DESC</pre></section>" 2.64 + [ -n "$DESC" ] && echo "<section><pre class="pre-wrap">$DESC</pre></section>" 2.65 2.66 # Show configuration files list 2.67 CONFIGS="$(tazpkg list-config $pkg | sed 's|\(.*\)|\1 \1|')"