# HG changeset patch # User Aleksej Bobylev # Date 1419996896 -7200 # Node ID 3b6602629dc09bdac62cfe2ddec939b38b6dd8c4 # Parent b61d698144f5a989de81bd3e066900fe49bf8675 pkgs.cgi: rework sidebar; remove "My packages" button and "list" command. Now selection of "My packages/All packages", Category, Repository (+ lists of tags and categories) is done using sidebar. diff -r b61d698144f5 -r 3b6602629dc0 tazpanel/pkgs.cgi --- a/tazpanel/pkgs.cgi Tue Dec 30 04:15:55 2014 +0200 +++ b/tazpanel/pkgs.cgi Wed Dec 31 05:34:56 2014 +0200 @@ -160,9 +160,7 @@

- - +

@@ -187,43 +185,57 @@ sidebar() { - [ -z "$repo" ] && repo=Public + [ -z "$repo" ] && repo='Public' + my=$(GET my); cat=$(GET cat) + row=' + " @@ -295,8 +307,8 @@ done [ -e "$i/blocked-packages.list" ] && cat $i/blocked-packages.list sed 's|.*|&\ti|' $i/installed.info - [ $1 == 'extra' ] || [ $1 == 'my' ] || cat $i/packages.info - [ $1 == 'extra' ] && sed 's|.*|&\t-\textra\t-\thttp://mirror.slitaz.org/packages/get/&\t-\t-\t-|' $PKGS_DB/extra.list + [ "$category" == 'extra' ] || [ $1 == 'my' ] || cat $i/packages.info + [ "$category" == 'extra' ] && sed 's|.*|&\t-\textra\t-\thttp://mirror.slitaz.org/packages/get/&\t-\t-\t-|' $PKGS_DB/extra.list } | sort -t$'\t' -k1,1 | sed '/^$/d' | awk -F$'\t' -vc="${category:--}" -vt="${tag:--}" ' { if (PKG && PKG != $1) { @@ -319,13 +331,16 @@ page=$(GET page); [ -z "$page" ] && page=1 pager="$(pager $cached)" - echo "$pager" + if [ "$pager" != "

$(_ 'Pages:')

" ]; then + [ "$repo" != "Public" ] && echo "

$(_ 'Repository: %s' $(repo_name $i))

" + echo "$pager" - table_head - tail -n+$((($page-1)*100+1)) $cached | head -n100 - echo "" + table_head + tail -n+$((($page-1)*100+1)) $cached | head -n100 + echo "" - echo "$pager" + echo "$pager" + fi rm -f $cached } @@ -350,36 +365,6 @@ case " $(GET) " in - *\ list\ *) - # - # List installed packages. - # - category=$(GET category) - search_form - sidebar - LOADING_MSG="$(_ 'Listing packages...')" - loading_msg - cat << EOT -

$(_ 'My packages')

- -
- -
-
- $(_ 'Selection:') - -
-
- $(show_button recharge) - $(show_button up) -
-
- $(i=$PKGS_DB; category=${category:-all}; show_list my) -
-EOT - ;; - - *\ linkable\ *) # # List linkable packages. @@ -391,18 +376,17 @@ cat << EOT

$(_ 'Linkable packages')

-
- -
-
- $(_ 'Selection:') - -
-
- $(show_button recharge) - $(show_button up) -
+ +
+
+ $(_ 'Selection:') +
+
+ $(show_button recharge) + $(show_button up) +
+
EOT table_head target=$(readlink $PKGS_DB/fslink) @@ -429,24 +413,15 @@ *\ cat\ *) # - # List all available packages by category on mirror. + # List all packages by category. # - repo=$(GET repo) - category=$(GET cat) + my=$(GET my); category=$(GET cat); repo=$(GET repo) search_form - sidebar | sed "s/active_$category/active/;s/repo_$repo/active/" + sidebar | sed "s/a_$category/active/;s/repo_$repo/active/" if [ -z "$category" ] || [ "$category" == 'cat' ]; then cat << EOT

$(_ 'Categories list')

- -
-
- $(show_button tag=) - $(show_button list) -
-
- @@ -457,6 +432,7 @@ EOT + params="&my=$my&repo=$repo" # don't forget it unexpectedly { awk -F$'\t' '{print $3}' $PKGS_DB/packages.info | sort | uniq -c awk -F$'\t' '{print $3}' $PKGS_DB/installed.info | sed 's|.*|& i|' | sort | uniq -c @@ -467,8 +443,8 @@ } END { for (n in c) print n, m[n], i[n] - }' | sort | awk '{ - printf "", $1, $1, $2, $3 + }' | sort | awk -vp="$params" '{ + printf "", $1, p, $1, $2, $3 }' echo '
%s%d%d
%s%d%d
' else @@ -477,24 +453,20 @@ cat << EOT

$(_ 'Category: %s' $category)

- -
-
- $(_ 'Selection:') - - - -
-
- $(show_button recharge) - $(show_button up) - $(show_button list) -
+
+
+ $(_ 'Selection:') + +
+
+ $(show_button recharge) + $(show_button up) +
+
EOT for i in $(repo_list ""); do - [ "$repo" != "Public" ] && echo "

$(_ 'Repository: %s' $(repo_name $i))

" - show_list $category + show_list $my done echo '' fi @@ -516,21 +488,19 @@ cat << EOT

$(_ 'Search packages')

-
-
-
- $(_ 'Selection:') - - - $(_ 'Toogle all') -
-
- $(show_button recharge) - $(show_button up) - $(show_button list) -
+
+
+ $(_ 'Selection:') + + + $(_ 'Toogle all')
- +
+ $(show_button recharge) + $(show_button up) +
+
+ EOT if [ -n "$(GET files)" ]; then cat <$(_ 'Recharge') -

$(_ 'Recharge checks for new or updated packages')

$(show_button up) - $(show_button list)
@@ -613,19 +581,17 @@ cat << EOT

$(_ 'Up packages')

- -
-
- $(_ 'Selection:') - - - $(_ 'Toogle all') -
-
- $(show_button recharge) - $(show_button list) -
+
+
+ $(_ 'Selection:') + + + $(_ 'Toogle all')
+
+ $(show_button recharge) +
+
EOT tazpkg up --check >/dev/null table_head @@ -669,18 +635,14 @@ cat << EOT

TazPkg: $cmd

- -
-
-

$(_ 'Performing tasks on packages')

-
-
- $(show_button list) -
+
+
+

$(_ 'Performing tasks on packages')

-
- $(_ 'Executing %s for: %s' $cmd $pkgs) -
+
+
+ $(_ 'Executing %s for: %s' $cmd $pkgs) +
EOT for pkg in $pkgs; do echo '
'
@@ -741,9 +703,6 @@
 		cat << EOT
 		

-
- $(show_button list) -
@@ -786,6 +745,7 @@ # # TazPkg configuration page # + echo '' cmd=$(GET admin) case "$cmd" in clean) @@ -1087,38 +1047,33 @@ # search_form sidebar - tag=$(GET tag); repo=$(GET repo) + tag=$(GET tag); repo=$(GET repo); my=$(GET my) + [ -z "$repo" ] && repo='Any' if [ -n "$tag" ]; then cat << EOT

$(_ 'Tag "%s"' $tag)

-
$(_ 'Selection:') - -
-
- $(show_button tag=) - $(show_button list)
EOT for i in $(repo_list ""); do - [ "$repo" != "Public" ] && echo "

$(_ 'Repository: %s' $(repo_name $i))

" show_list all done echo '' else + params="&my=$my&repo=$repo" # don't forget it unexpectedly echo "

$(_ 'Tags list')

" echo "

" TAGS="$(awk -F$'\t' '{if($6){print $6}}' $PKGS_DB/packages.info | tr ' ' $'\n' | sort | uniq -c)" MAX="$(echo "$TAGS" | awk '{if ($1 > MAX) MAX = $1} END{print MAX}')" - echo "$TAGS" | awk -vMAX=$MAX '{ - printf "%s ", int($1 * 7 / MAX + 1), $2, $1, $2 + echo "$TAGS" | awk -vMAX="$MAX" -vp="$params" '{ + printf "%s ", int($1 * 7 / MAX + 1), $2, p, $1, $2 }' echo "

" fi @@ -1138,7 +1093,6 @@
EOT - show_button list fslink=$(readlink $PKGS_DB/fslink) [ -n "$fslink" -a -d "$fslink/$INSTALLED" ] && show_button linkable show_button recharge diff -r b61d698144f5 -r 3b6602629dc0 tazpanel/pkgs.css --- a/tazpanel/pkgs.css Tue Dec 30 04:15:55 2014 +0200 +++ b/tazpanel/pkgs.css Wed Dec 31 05:34:56 2014 +0200 @@ -1,3 +1,68 @@ + +/* Sidebar menus */ + +#content-sidebar { margin: 20px 144px 20px 20px; } + +#sidebar { + /*background-color: #FFF;*/ + /*border: 1pt solid #888;*/ + position: fixed; + top: 80px; + right: 5px; + width: 132px; +} + +#sidebar > a { + display: block; + padding: 0; + margin: 0 0 0 0.5em; +} + +#sidebar .active { + color: #000; + font-weight: bold; +} + +#sidebar h4 { + margin: 0; + font-size: 16px; color: #222; + text-align: center; +} + +#sidebar input[type=submit] { display: none; } + +#sidebar label { + display: inline-block; + padding: 0 0 0 0.5em; margin: 0; + color: #666; + font-size: small; + width: 100%; +} + +#sidebar label:hover { color: #000; } + +table.side { + background-color: #f8f8f8; + border: none; border-collapse: collapse; + padding: 0; margin: 0; + + border: 1pt solid #888; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} +table.side tr:nth-child(even) { + background-color: rgba(0,0,0,0.05); +} + +#sidebar select { + margin: 0; padding: 0 0.5em; + width: 100%; + font-size: small; +} + + + /* links classes: * pkg - package (not installed); * pkgi - package (installed);