Author: sshyrkov
Date: Mon Oct  8 15:10:30 2007
New Revision: 18780

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18780&repname=
=3Djahia
Log:
DOC-222: File Manager: Stars on Filters are only applied at the beginning o=
f the string + lost when switching from one view to the other =

http://www.jahia.net/jira/browse/DOC-222
Resolution:
1) Filters are preserved on view changes
2) Filters now properly support wildcards (* and ?)

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/ajax/webdav/DAVAbs=
tractAction.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/filemana=
ger/AjaxFileManager.jsp
    branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/e=
mbedded_filemanager.jsp
    branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/javascript/zimbr=
a/complexTree/ComplexTree.js

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/ajax/webdav/=
DAVAbstractAction.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/ajax/webdav/DAVAbstractAction.java&rev=3D18=
780&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/ajax/webdav/DAVAbs=
tractAction.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/ajax/webdav/DAVAbs=
tractAction.java Mon Oct  8 15:10:30 2007
@@ -17,6 +17,9 @@
  */
 package org.jahia.ajax.webdav;
 =

+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.io.IOCase;
+import org.apache.commons.lang.StringUtils;
 import org.jahia.ajax.AjaxAction;
 import org.jahia.bin.Jahia;
 import org.jahia.engines.filemanager.TableEntry;
@@ -154,35 +157,20 @@
                 if (imagesExtensions.contains(extension)) return;
             }
 =

-            if (display.indexOf(".") > -1) {
-                if (display.indexOf(IMAGES_ONLY) > -1) {
-                    logger.debug("Should only display images");
-                    if (! imagesExtensions.contains(extension)) return;
-                } else {
-                    final StringTokenizer tokenizer =3D new StringTokenize=
r(display, ",");
-                    boolean found =3D false;
-                    if (display.indexOf("*") > -1) {
-                        while (tokenizer.hasMoreTokens()) {
-                            final String token =3D tokenizer.nextToken();
-                            if (token.indexOf("*") >=3D 0) {
-                                final String tmp =3D token.substring(token=
.indexOf("*") + 1);
-                                // token contains an expression. ie '*.gif'
-                                if (tmp.indexOf(extension) > -1) {
-                                    found =3D true;
-                                    break;
-                                }
-                            } else {
-                                // token contains a full filename. ie 'log=
o.gif'
-                                if (file.getPath().indexOf(token) > -1) {
-                                    found =3D true;
-                                    break;
-                                }
-                            }
-                        }
-                    } else {
-                        found =3D true;
+            if (display.indexOf('|') !=3D -1
+                    && display.indexOf('|') < display.length() - 1) {
+                String[] filters =3D StringUtils.split(display.substring(d=
isplay
+                        .lastIndexOf('|') + 1), ',');
+                boolean matched =3D false;
+                for (int i =3D 0; i < filters.length; i++) {
+                    if (FilenameUtils.wildcardMatch(file.getName(), filter=
s[i],
+                            IOCase.INSENSITIVE)) {
+                        matched =3D true;
+                        break;
                     }
-                    if (! found) return;
+                }
+                if (!matched) {
+                    return;
                 }
             }
         }

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/fi=
lemanager/AjaxFileManager.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/jsp/jahia/engines/filemanager/AjaxFileManager.jsp&r=
ev=3D18780&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/filemana=
ger/AjaxFileManager.jsp (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/filemana=
ger/AjaxFileManager.jsp Mon Oct  8 15:10:30 2007
@@ -44,7 +44,12 @@
     request.getSession().setAttribute("TreeFileManager", "true");
 =

     boolean fckEditorTarget =3D "fckeditor".equals(request.getParameter("t=
arget"));
-    final String resourceTypes =3D request.getParameter("resourceTypes") !=
=3D null ? request.getParameter("resourceTypes") : "";
+    String filters =3D "";
+    if (request.getParameter("filters") !=3D null) {
+        filters =3D request.getParameter("filters");
+    } else {
+        filters =3D request.getParameter("resourceTypes") !=3D null ? requ=
est.getParameter("resourceTypes") : "";
+    }
 %>
 =

 <script type=3D"text/javascript">
@@ -618,7 +623,7 @@
         <td>
             &nbsp;<jahia:engineResourceBundle
                     resourceName=3D"org.jahia.engines.filemanager.Filemana=
ger_Engine.filters.label" />:
-            <input id=3D"filters" type=3D"text" name=3D"filters" value=3D"=
<%=3D resourceTypes %>" onkeypress=3D"return keyDown(event)" />
+            <input id=3D"filters" type=3D"text" name=3D"filters" value=3D"=
<%=3D filters %>" onkeypress=3D"return keyDown(event)" />
         </td>
         <td>
             <a href=3D"#search" onclick=3D"return doReload()">

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/sh=
ared/embedded_filemanager.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/jsp/jahia/engines/shared/embedded_filemanager.jsp&r=
ev=3D18780&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/e=
mbedded_filemanager.jsp (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/e=
mbedded_filemanager.jsp Mon Oct  8 15:10:30 2007
@@ -53,7 +53,12 @@
 =

     final String fieldValue =3D theField.getValue();
 =

-    final String resourceTypes =3D request.getParameter("resourceTypes") !=
=3D null ? request.getParameter("resourceTypes") : "";
+    String filters =3D "";
+    if (request.getParameter("filters") !=3D null) {
+        filters =3D request.getParameter("filters");
+    } else {
+        filters =3D request.getParameter("resourceTypes") !=3D null ? requ=
est.getParameter("resourceTypes") : "";
+    }
 %>
 =

 <script type=3D"text/javascript">
@@ -753,7 +758,7 @@
     </div>
     <div style=3D"float:right; width: 29%;">
         <jahia:engineResourceBundle resourceName=3D"org.jahia.engines.file=
manager.Filemanager_Engine.filters.label" />:<br/>
-        <input id=3D"filters" type=3D"text" name=3D"filters" value=3D"<%=
=3D resourceTypes %>" onkeypress=3D"return keyDown(event)" />
+        <input id=3D"filters" type=3D"text" name=3D"filters" value=3D"<%=
=3D filters %>" onkeypress=3D"return keyDown(event)" />
         <a href=3D"#search" onclick=3D"return doReload()">
             <img style=3D"vertical-align: top"
                  alt=3D"<jahia:engineResourceBundle resourceName=3D"org.ja=
hia.engines.filemanager.Filemanager_Engine.filtersSearch.label"/>"

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/javascript=
/zimbra/complexTree/ComplexTree.js
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/jsp/jahia/javascript/zimbra/complexTree/ComplexTree=
.js&rev=3D18780&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/javascript/zimbr=
a/complexTree/ComplexTree.js (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/javascript/zimbr=
a/complexTree/ComplexTree.js Mon Oct  8 15:10:30 2007
@@ -684,7 +684,7 @@
         var reg =3D new RegExp("(&display=3Ddirectories_Only)", "g");
         var theUrl =3D this._props.EXPAND_SERVER_URL.replace(reg, "&displa=
y=3D");
         var filters =3D document.getElementById("filters");
-        if (filters && filters.value.length > 0) theUrl +=3D filters.value;
+        if (filters && filters.value.length > 0) theUrl +=3D '|' + filters=
.value;
         if (updateBar && itemKey =3D=3D reachDir) this.updateBar =3D true;
         theUrl +=3D "&sortBy=3D" + sortBy;
         jahiaCommand.invoke(xmlDoc, theUrl);
@@ -737,7 +737,7 @@
     var reg =3D new RegExp("(&display=3Ddirectories_Only)", "g");
     var theUrl =3D this._props.EXPAND_SERVER_URL.replace(reg, "&display=3D=
");
     var filters =3D document.getElementById("filters");
-    if (filters && filters.value.length > 0) theUrl +=3D filters.value;
+    if (filters && filters.value.length > 0) theUrl +=3D '|' + filters.val=
ue;
     jahiaCommand.invoke(xmlDoc, theUrl);
     updateMenuBarAfterSelect(item._key);
     delete jahiaCommand;

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to