Author: rmannibucau
Date: Tue Jun 28 19:29:38 2011
New Revision: 1140799

URL: http://svn.apache.org/viewvc?rev=1140799&view=rev
Log:
rewriting the way the index page is filtered - now it should be more closed to 
stackoverflow -- to test

Modified:
    
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/examples/GenerateIndex.java
    
openejb/trunk/sandbox/tools/src/main/resources/generate-index/config.properties
    
openejb/trunk/sandbox/tools/src/main/resources/generate-index/javascript/index.js
    
openejb/trunk/sandbox/tools/src/main/resources/generate-index/velocity/index.vm

Modified: 
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/examples/GenerateIndex.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/examples/GenerateIndex.java?rev=1140799&r1=1140798&r2=1140799&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/examples/GenerateIndex.java
 (original)
+++ 
openejb/trunk/sandbox/tools/src/main/java/org/apache/openejb/tools/examples/GenerateIndex.java
 Tue Jun 28 19:29:38 2011
@@ -95,6 +95,9 @@ public class GenerateIndex {
         Map<String, String> nameByLink = new TreeMap<String, String>();
         Map<String, String> zipLinks = new TreeMap<String, String>();
         Collection<File> examples = listFolders(extractedDir, 
properties.getProperty("pom"));
+        if (examples.contains(extractedDir)) {
+            examples.remove(extractedDir);
+        }
         for (File example : examples) {
             // create a directory for each example
             File generated = new File(generatedDir, 
example.getPath().replace(extractedDir.getPath(), ""));

Modified: 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/config.properties
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/resources/generate-index/config.properties?rev=1140799&r1=1140798&r2=1140799&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/config.properties 
(original)
+++ 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/config.properties 
Tue Jun 28 19:29:38 2011
@@ -1,5 +1,6 @@
 # website config
-home.resources = http://ci.apache.org/projects/openejb/examples-generated
+home.resources = 
/home/rmannibucau/Development/openejb/tools/src/main/resources/generate-index
+#home.resources = http://ci.apache.org/projects/openejb/examples-generated
 home.site = http://ci.apache.org/projects/openejb/examples-generated
 
 # input/output

Modified: 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/javascript/index.js
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/resources/generate-index/javascript/index.js?rev=1140799&r1=1140798&r2=1140799&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/javascript/index.js
 (original)
+++ 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/javascript/index.js
 Tue Jun 28 19:29:38 2011
@@ -59,7 +59,7 @@ function filterExamples($button) {
     // refresh
     var filteringForExamples = ''; // for examples
     if (selectedClasses.length > 0) {
-        filteringForExamples = '.'.concat(selectedClasses.join("."));
+        filteringForExamples = '.'.concat(selectedClasses.join('.'));
     }
 
     var filteringForButtons = ''; // for buttons
@@ -72,24 +72,51 @@ function filterExamples($button) {
     }
 
     // filtering examples
-    $('div#examples').find('li' + filteringForExamples).each(function(i, val) {
-        $(val).show('slow');
-    });
+    $('div#examples').find('li' + filteringForExamples).show('slow');
     if (selectedClasses.length > 0) {
-        $('div#examples').find('li:not(' + filteringForExamples + 
').example').each(function(i, val) {
-            $(val).hide();
-        });
+        $('div#examples').find('li:not(' + filteringForExamples + 
').example').hide();
     }
 
     // filtering buttons (apis)
-    $('div#checkboxes-check > ul > li > input[type=button].button' + 
filteringForButtons).each(function(i, val) {
-        $(val).show('slow');
-    });
     if (correspondingExamples.length > 0) {
-        $('div#checkboxes-check > ul > li > 
input[type=button].button').not(filteringForButtons).each(function(i, val) {
-            if (!$(val).attr('selected')) { // to be kept
-                $(val).hide();
+        var examples = new Array();
+        $('div#examples').find('li' + filteringForExamples).each(function(i, 
val) {
+            examples.push($(val).attr('example'));
+        }); 
+
+        $('div#checkboxes-check > ul > li > input[type=button].button').hide();
+        for (var i = 0; i < examples.length; i++) {
+            if (examples[i].length > 0) {
+                $('li[example="' + 
examples[i].substring(examples[i].lastIndexOf('_') + 1, examples[i].length) + 
'"]').each(function(i, val) {
+                    $buttons = $(val).attr('class');
+                    $buttons = $buttons.substring('example '.length, 
$buttons.length);
+                    $buttonsArray = $buttons.split(' ');
+                    for (var b = 0; b < $buttonsArray.length; b++) {
+                        if (shouldIHideIt(examples, $buttonsArray[b]) && 
selectedClasses.indexOf($buttonsArray[b]) == -1) {
+                            $('input[api="' + $buttonsArray[b] + '"]').hide();
+                        } else {
+                            $('input[api="' + $buttonsArray[b] + 
'"]').show('slow');
+                        }
+                    }
+                });
+            }
+        }alert('ok');
+    } else {
+        $('div#checkboxes-check > ul > li > 
input[type=button].button').show('slow');
+    }
+}
+
+function shouldIHideIt(list, api) {
+    for (var i = 0; i < list.length; i++) {
+        if (list[i].length > 0) {
+            $item = $('li[example="' + 
list[i].substring(list[i].lastIndexOf('_') + 1, list[i].length) + 
'"]').next().attr('class');
+            if ($item != undefined && $item != false) {
+                $apis = $item.split(' ');
+                if ($apis.indexOf(api) == -1) {
+                    return false;
+                }
             }
-        });
+        }
     }
+    return true;
 }

Modified: 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/velocity/index.vm
URL: 
http://svn.apache.org/viewvc/openejb/trunk/sandbox/tools/src/main/resources/generate-index/velocity/index.vm?rev=1140799&r1=1140798&r2=1140799&view=diff
==============================================================================
--- 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/velocity/index.vm 
(original)
+++ 
openejb/trunk/sandbox/tools/src/main/resources/generate-index/velocity/index.vm 
Tue Jun 28 19:29:38 2011
@@ -20,7 +20,7 @@
 
                 <ul>
 #foreach( $example in $examples.entrySet() )
-                    <li class="$aggregatedClasses.get($example.key)"><a 
href="$example.key">$example.value</a> <a 
href="$zipLinks.get($example.key)">Download zip</a></li>
+                    <li example="$example.value" 
class="$aggregatedClasses.get($example.key)"><a 
href="$example.key">$example.value</a> <a 
href="$zipLinks.get($example.key)">Download zip</a></li>
 #end
                 </ul>
             </div>


Reply via email to