[Debtags-commits] [svn] r1510 - central-database/branches/alioth/webfrontend

Enrico Zini enrico at costa.debian.org
Fri Nov 18 16:40:23 UTC 2005


Author: enrico
Date: Fri Nov 18 16:40:23 2005
New Revision: 1510

Modified:
   central-database/branches/alioth/webfrontend/edit.cgi
   central-database/branches/alioth/webfrontend/edittemplate.html
   central-database/branches/alioth/webfrontend/main.css
Log:
Facets section is now JS-generated

Modified: central-database/branches/alioth/webfrontend/edit.cgi
==============================================================================
--- central-database/branches/alioth/webfrontend/edit.cgi	(original)
+++ central-database/branches/alioth/webfrontend/edit.cgi	Fri Nov 18 16:40:23 2005
@@ -211,8 +211,8 @@
 	{
 		my %data = (
 			NAME => $t->name,
-			SDESC => $t->sdesc,
-			LDESC => format_ldesc($t->ldesc),
+			SDESC => uri_escape($t->sdesc),
+			LDESC => uri_escape(format_ldesc($t->ldesc)),
 		);
 		if ($bayesian)
 		{
@@ -245,8 +245,8 @@
 	#msg "%s %s\n", $f->name, $hidden_facets{$f->name} ? "hidden" : "not hidden";
 	push @facets, {
 		NAME => $f->name,
-		SDESC => $f->sdesc,
-		LDESC => format_ldesc($f->ldesc),
+		SDESC => uri_escape($f->sdesc),
+		LDESC => uri_escape(format_ldesc($f->ldesc)),
 		HASTAGS => [ sort tagsort @hastags ],
 		TAGS => [ sort tagsort @tags ],
 		HIDEURL => linkself('fhide='.uri_escape($f->name)),

Modified: central-database/branches/alioth/webfrontend/edittemplate.html
==============================================================================
--- central-database/branches/alioth/webfrontend/edittemplate.html	(original)
+++ central-database/branches/alioth/webfrontend/edittemplate.html	Fri Nov 18 16:40:23 2005
@@ -13,13 +13,47 @@
   <link href="main.css" rel="stylesheet" type="text/css">
   <script type="text/javascript">
   <!--
-  var deletedNodes = new Array();
+  var facets = new Object();
+  var facetsSorted = new Array();
+  <tmpl_loop name="FACETS">
+	  var f = new Object;
+	  facets["<tmpl_var name='NAME'>"] = f;
+	  f.name = "<tmpl_var name='NAME'>";
+	  f.sdesc = unescape("<tmpl_var name='SDESC'>");
+	  f.ldesc = unescape("<tmpl_var name='LDESC'>");
+	  f.hasTagsSorted = new Array();
+	  f.newTagsSorted = new Array();
+
+	  <tmpl_loop name="HASTAGS">
+		  var t = new Object;
+		  f.hasTags = new Object;
+		  f.hasTags["<tmpl_var name='NAME'>"] = t;
+		  t.name = "<tmpl_var name='NAME'>";
+		  t.sdesc = unescape("<tmpl_var name='SDESC'>");
+		  t.ldesc = unescape("<tmpl_var name='LDESC'>");
+		  // <a href='<tmpl_var name="REMURL">'>[remove]</a>
+		  f.hasTagsSorted.push(t);
+	  </tmpl_loop>
+	  <tmpl_loop name="TAGS">
+		  var t = new Object;
+		  f.newTags = new Object;
+		  f.newTags["<tmpl_var name='NAME'>"] = t;
+		  t.name = "<tmpl_var name='NAME'>";
+		  t.sdesc = unescape("<tmpl_var name='SDESC'>");
+		  t.ldesc = unescape("<tmpl_var name='LDESC'>");
+		  // <a href='<tmpl_var name="ADDURL">'>[add]</a>
+		  f.newTagsSorted.push(t);
+	  </tmpl_loop>
+	  facetsSorted.push(f);
+  </tmpl_loop>
+
+  var deletedNodes = new Object();
   function hideFacet(facet)
   {
   	var s = new String;
 	node = document.getElementById("editfacet-"+facet)
 	deletedNodes[facet] = node.innerHTML;
-	node.innerHTML = "<a onclick='showFacet(\""+facet+"\")'>[expand "+facet+"]</a> ";
+	node.innerHTML = "<span class='button' onclick='showFacet(\""+facet+"\")'>[expand "+facet+": "+facets[facet].sdesc+"]</span> ";
   }
   function showFacet(facet)
   {
@@ -94,64 +128,49 @@
   <div style="clear: both"></div>
 
   <div id="editfacets">
-  <tmpl_loop name="FACETS">
-  <tmpl_unless name="HIDDEN">
-  <div class="editfacet" id="editfacet-<tmpl_var name='NAME'>">
-    <div class="facetbuttons">
-      <a onclick="hideFacet('<tmpl_var name='NAME'>')">[done with this]</a>
-      <!--<a href='<tmpl_var name="HIDEURL">'>[done with this]</a>-->
-      <br>
-      <a href='<tmpl_var name="DELURL">'>[does not apply]</a>
-    </div>
-    <div class="intro">
-      <p>
-        <b><tmpl_var name="SDESC"></b>
-	<tmpl_if name="PPROB">(<tmpl_var name="PPROB">%)</tmpl_if>
-      </p>
-      <p><tmpl_var name="LDESC"></p>
-    </div>
-    <ul>
-      <tmpl_loop name="HASTAGS">
-        <li>
-	  <b><tmpl_var name="SDESC"></b>
-	  <tmpl_if name="NPROB">(<tmpl_var name="NPROB">%)</tmpl_if>
-	  <a href='<tmpl_var name="REMURL">'>[remove]</a>
-	</li>
-      </tmpl_loop>
-      <tmpl_loop name="TAGS">
-        <li>
-	  <tmpl_var name="SDESC">
-	  <tmpl_if name="PPROB">(<tmpl_var name="PPROB">%)</tmpl_if>
-	  <a href='<tmpl_var name="ADDURL">'>[add]</a>
-	</li>
-      </tmpl_loop>
-    </ul>
-  </div>
-  </tmpl_unless>
-  </tmpl_loop>
+  <script type="text/javascript">
+  	for (i = 0; i < facetsSorted.length; i++)
+	{
+		var f = facetsSorted[i];
+		document.write("<div class='editfacet' id='editfacet-"+f.name+"'>\n");
+    		document.write("\t<div class='facetbuttons'>\n");
+		document.write("\t\t<a onclick='hideFacet(\""+f.name+"\")'>[done with this]</a><br />\n");
+      		document.write("\t\t<a href='<tmpl_var name="DELURL">'>[does not apply]</a>\n");
+		document.write("\t</div>\n");
+		document.write("\t<div class='intro'>\n");
+		document.write("\t\t<p>\n");
+        	document.write("\t\t\t<b>"+f.sdesc+"</b>\n");
+		//<tmpl_if name="PPROB">(<tmpl_var name="PPROB">%)</tmpl_if>
+		document.write("\t\t</p>\n");
+		document.write("\t\t<p>"+f.ldesc+"</p>\n");
+		document.write("\t</div>\n");
+    		document.write("\t<ul>\n");
+		for (j = 0; j < facets[f.name].hasTagsSorted.length; j++)
+		{
+			var t = facets[f.name].hasTagsSorted[j];
+			document.write("\t<li>\n");
+			document.write("\t\t<b>"+t.sdesc+"</b>\n");
+			// document.write("\t\t<tmpl_if name="NPROB">(<tmpl_var name="NPROB">%)</tmpl_if>");
+			document.write("\t\t<a href='<tmpl_var name='REMURL'>'>[remove]</a>\n");
+			document.write("\t</li>\n");
+		}
+		for (j = 0; j < facets[f.name].newTagsSorted.length; j++)
+		{
+			var t = facets[f.name].newTagsSorted[j];
+			document.write("\t<li>\n");
+			document.write("\t\t"+t.sdesc+"\n");
+			// document.write("\t\t<tmpl_if name="NPROB">(<tmpl_var name="NPROB">%)</tmpl_if>");
+			document.write("\t\t<a href='<tmpl_var name='ADDURL'>'>[add]</a>\n");
+			document.write("\t</li>\n");
+		}
+    		document.write("\t</ul>\n");
+		document.write("</div>\n");
+	}
+  </script>
   </div>
   
-
-  <TMPL_IF NAME="ADDTAGS">
-    <h2>Tags that can be attached to this package:</h2>
-    <table border=0>
-    <TMPL_LOOP NAME="ADDTAGS">
-      <TMPL_IF ODDROW>
-        <tr class="oddrow">
-      <TMPL_ELSE>
-        <tr class="evenrow">
-      </TMPL_IF>
-      <td><TMPL_VAR NAME="DEPTH"><TMPL_VAR NAME="TAGTITLE"></td>
-      <td>
-        <TMPL_IF NAME="ADDURL"><a href="<TMPL_VAR NAME="ADDURL">" class="addlink">(attach)</a></TMPL_IF>
-        <TMPL_IF NAME="REMURL"><a href="<TMPL_VAR NAME="REMURL">" class="removelink">(remove)</a></TMPL_IF>
-      </td>
-    </tr>
-    </TMPL_LOOP>
-    </table>
-  </TMPL_IF>
-
   <div style="clear: both"></div>
+
   <div id="close">
     <div class="links">
       [<a href="http://debtags.alioth.debian.org">Debtags</a>]

Modified: central-database/branches/alioth/webfrontend/main.css
==============================================================================
--- central-database/branches/alioth/webfrontend/main.css	(original)
+++ central-database/branches/alioth/webfrontend/main.css	Fri Nov 18 16:40:23 2005
@@ -106,6 +106,12 @@
 padding-left: 0;
 }
 
+.button {
+color: brown;
+text-decoration: none;
+font-size: small;
+}
+
 /* for package browser */
 .addlink { font-size: x-small; }
 .removelink { font-size: x-small; }



More information about the Debtags-commits mailing list