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|')"