]> git.plutz.net Git - shellwiki/blobdiff - themes/default.sh
improved UI for attachment manipulation
[shellwiki] / themes / default.sh
index 89d4fad6c12c934dc71dd2f61a89903c6592676b..6807242cd2d6dd0445e419bd72ae62dfe5834f23 100755 (executable)
@@ -3,11 +3,14 @@
 . "$_EXEC/tools.sh"
 
 theme_head(){
+  local IFS="$BR"
   printf '
   <meta name="viewport" content="width=device-width"/>
-  <link rel="stylesheet" type="text/css" href="%s/[.]/cgilite/common.css">
-  <link rel="stylesheet" type="text/css" href="%s/[.]/themes/default.css">
-  ' "$_BASE"
+  '
+  for css in "$_BASE/[.]/cgilite/common.css" "$_BASE/[.]/themes/default.css" $PAGE_CSS; do
+    printf  '<link rel="stylesheet" type="text/css" href="%s">' \
+            "$(HTML "${css##*//}")"
+  done
 }
 
 theme_header(){
@@ -28,6 +31,9 @@ theme_pagemenu(){
       <li><a href="./[edit]">Edit</a></li>
       <li><a href="./[attachment]">Attachments</a></li>
       <li><a href="./[revision]">Revisions</a></li>
+      <li><a href="./[rename]">Rename</a></li>
+      <li><a href="./[move]">Move</a></li>
+      <li><a href="./[delete]">Delete</a></li>
     </ul>'
   fi
 }
@@ -68,7 +74,7 @@ theme_editor(){
   [ "$template" ] && acl_read "$template" || template="$page"
 
   theme_page - "Editor: $title" <<-EOF
-       <form method=POST action="$(HTML "${page%/}/[edit]")">
+       <form method=POST action="$(HTML "${_BASE}${page%/}/[edit]")">
          <input type=hidden name=session_key value="${SESSION_KEY}"/>
          <textarea name=pagetext>$({ wiki_text "$page" \
                                   || wiki_text "$template"; } |HTML)</textarea>
@@ -93,13 +99,20 @@ theme_attachments(){
   if acl_write "$page"; then
     theme_page - "Attachments: $title" <<-EOF
        <form class=upload method=POST enctype="multipart/form-data">
+         <h2>Upload</h2>
          <input type=hidden name=session_id value="$SESSION_ID">
          <input type=file name=file multiple>
          <button type=submit name=action value=upload>Upload</button>
        </form>
        
-       <form method=POST><ul class="attachment list">
+       <form method=POST>
+         <h2>Attachments</h2>
          <input type=hidden name=session_key value="$SESSION_KEY">
+          <input checked type=radio class=tab name=attachaction value=view id=tview><label for=tview>View</label>
+          <input         type=radio class=tab name=attachaction value=del  id=tdel ><label for=tdel >Delete</label>
+          <input         type=radio class=tab name=attachaction value=move id=tmove><label for=tmove>Move</label>
+          <input         type=radio class=tab name=attachaction value=ren  id=tren ><label for=tren >Rename</label>
+          <ul class="attachment list tab">
        $(for file in "$_EXEC/pages/$page/#attachments"/* "$_DATA/pages/$page/#attachments"/*; do
          [ "$file" = "$_EXEC/pages/$page/#attachments/${file##*/}" \
                -a -f "$_DATA/pages/$page/#attachments/${file##*/}" ] && continue
@@ -107,11 +120,22 @@ theme_attachments(){
          size="${stat% *}" date="${stat#* }"
           hfile="$(HTML "${file##*/}")"
        
-         printf '<li><button type=submit name=delete value="%s">Delete</button><a class=name href="[attachment]/%s">%s</a>
-                 <span class=size>%s</span><span class=date>%s</span></li>' \
-                "$hfile" "$hfile" "$hfile" "$(size_human "$size")" "$(date -d @"$date" +"%F %T")"
+         printf '<li><input id="select_%s" type=checkbox name=select value="%s">
+                   <label class=name for="select_%s">%s</label>
+                   <input class=name name="rename_%s" value="" placeholder="%s" />
+                   <a class=name href="[attachment]/%s">%s</a>
+                   <span class=size>%s</span>
+                   <span class=date>%s</span>
+                 </li>' \
+                "$hfile" "$hfile" "$hfile" "$hfile" \
+                "$hfile" "$hfile" "$hfile" "$hfile" \
+                "$(size_human "$size")" "$(date -d @"$date" +"%F %T")"
        done)
-       </ul></form>
+         </ul>
+         <button type=submit name=action value=delete>Delete</button>
+         <button type=submit name=action value=move  >Move</button>
+         <button type=submit name=action value=rename>Rename</button>
+       </form>
        EOF
   else
     theme_page - "Attachments: $title" <<-EOF