[elvystrac] r1756 - 1)list of files moved into the standalone component - elvys:fileListComponent (FileListComponent.xhtml)

  • From: elvys@xxxxxxxxxxxxxxxxxxxxxx
  • To: elvystrac@xxxxxxxxxxxxx
  • Date: Wed, 17 Feb 2010 12:41:22 +0100

Author: DavidK
Date: 2010-02-17 12:41:22 +0100 (Wed, 17 Feb 2010)
New Revision: 1756

Added:
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListComponentBean.java
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListInitTagHandler.java
   trunk/server/webServer2/WebContent/js/components/file/
   trunk/server/webServer2/WebContent/js/components/file/fileListComponent.js
   trunk/server/webServer2/WebContent/secured/components/file/
   
trunk/server/webServer2/WebContent/secured/components/file/fileListComponent.xhtml
   trunk/server/webServer2/WebContent/styles/components/file/
   
trunk/server/webServer2/WebContent/styles/components/file/fileListComponent.css
Modified:
   trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBL.java
   trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBLImpl.java
   trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBLTest.java
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListBean.java
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/component/filerel/FileListComponentBean.java
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/component/layoutrel/LayoutListInitTagHandler.java
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/BeanManager.java
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/MessageUtils.java
   trunk/server/webServer2/WebContent/WEB-INF/faces-beans.xml
   trunk/server/webServer2/WebContent/secured/filerel/fileList.xhtml
   trunk/server/webServer2/WebContent/styles/filerel/fileList.css
Log:
1)list of files moved into the standalone component - elvys:fileListComponent 
(FileListComponent.xhtml)
2)added buttons on the file list for filtering file-type

Modified: trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBL.java
===================================================================
--- trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBL.java       
2010-02-17 11:38:46 UTC (rev 1755)
+++ trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBL.java       
2010-02-17 11:41:22 UTC (rev 1756)
@@ -31,9 +31,11 @@
        
        
        /**
-        * Gets list of all types allowed for the company.
+        * Gets list of all types allowed for the company. <br/>
+        * Elements of this list are unique. <br/>
+        * Orders by: id
         * @param companyId id of the company. Not Null.
-        * @return list of all files. In the list are only allowed types of 
files.
+        * @return Unique list of all files. In the list are only allowed types 
of files.
         * @throws ExecuteException
         */
        public List<FileType> listCompanyAllowedFileTypesMakeSession(Integer 
companyId) throws ExecuteException;
@@ -136,9 +138,4 @@
         */
        public List<cz.elvys.webServer.HIBgen.File> getFilesWithSameHash(String 
MD5Hash,
                        Integer companyId) throws ExecuteException;
-       
-       
-       
-       
-       
 }

Modified: 
trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBLImpl.java
===================================================================
--- trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBLImpl.java   
2010-02-17 11:38:46 UTC (rev 1755)
+++ trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBLImpl.java   
2010-02-17 11:41:22 UTC (rev 1756)
@@ -6,7 +6,10 @@
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.regex.Matcher;
@@ -134,6 +137,7 @@
                        Session sess) throws ExecuteException {
                
                List<FileType> ftypes = new ArrayList<FileType>();
+               Set<Integer> contained = new HashSet<Integer>();
                List<ContentType> ctypes = 
psbl.getCompanyPermittedTypes(companyId, sess);
                // process all company-permitted types
                // find corresponding file type
@@ -141,10 +145,32 @@
                        FileType ft = ctype.getFileType();
                        if (ft == null) {
                                // no file is used for this content-type (e.g. 
text, dynamic,..)
+                               // do nothing
                        } else {
-                               ftypes.add(ft);
+                               // this contentType uses file
+                               if (contained.contains(ft.getId())) {
+                                       // this file-type was already found on 
another content-type
+                                       // do nothing
+                               } else {
+                                       ftypes.add(ft);
+                                       contained.add(ft.getId());
+                               }
                        }
                }
+               
+               // orders file-types by id
+               Collections.sort(ftypes,new Comparator<FileType>() {
+                       @Override
+                       public int compare(FileType o1, FileType o2) {
+                               if (o1.getId() < o2.getId()) {
+                                       return -1;
+                               } else if (o1.getId() > o2.getId()) {
+                                       return 1;
+                               } else {
+                                       return 0;
+                               }
+                       }
+               });
                return ftypes;
        }
 
@@ -489,11 +515,7 @@
                return conflicting;
        }
        
-       
-       
-       
-       
-       
+
        /**
         * Deletes old *.upload files in temporary folder. These files were 
created by RichFaces FileUpload component
         * @param folder folder which temporary files are stored in

Modified: 
trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBLTest.java
===================================================================
--- trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBLTest.java   
2010-02-17 11:38:46 UTC (rev 1755)
+++ trunk/server/elvysCommons/src/elvys/server/bl/file/FileManagerBLTest.java   
2010-02-17 11:41:22 UTC (rev 1756)
@@ -1,6 +1,8 @@
 package elvys.server.bl.file;
 
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.hibernate.Query;
 import org.hibernate.Transaction;
@@ -14,7 +16,6 @@
 import cz.elvys.webServer.HIBgen.FileFrameContent;
 import cz.elvys.webServer.HIBgen.FileType;
 import cz.elvys.webServer.HIBgen.FrameContent;
-import cz.elvys.webServer.HIBgen.User;
 import cz.elvys.webServer.db.InitSessionFactory;
 
 import elvys.server.bl.Fact;
@@ -116,6 +117,7 @@
                        }
                }
                
+               System.out.println();
                assertTrue(numInCollision == 0);
        }
        
@@ -173,7 +175,16 @@
        // check list of FileType
        private void assertFileTypeList(List<FileType> list) {
                assertTrue(list != null && list.size() > 0);
+               Set<Integer> cont = new HashSet<Integer>();
+               int lastId = 0;
                for (FileType type : list) {
+                       // is uniq?
+                       assertFalse(cont.contains(type.getId()));
+                       cont.add(type.getId());
+                       // is ordered?
+                       assertTrue(type.getId() > lastId);
+                       lastId = type.getId();
+                       // check fetch validity
                        assertFileType(type);
                }
        }

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListBean.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListBean.java
       2010-02-17 11:38:46 UTC (rev 1755)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListBean.java
       2010-02-17 11:41:22 UTC (rev 1756)
@@ -8,7 +8,6 @@
 import org.apache.log4j.Logger;
 
 import cz.elvys.commons.utils.CommonUtils;
-import cz.elvys.webServer.HIBgen.Document;
 import cz.elvys.webServer.HIBgen.FileType;
 import cz.elvys.webServer.beans.UserBean;
 import cz.elvys.webServer.utils.faces.BeanManager;
@@ -18,10 +17,6 @@
 public class FileListBean implements Serializable {
 
        // messages
-       private static final String ERROR_DELETE_FILE = "Error deleting file.";
-       private static final String ERROR_SELECT_FILES = "Error seleting list 
of files.";
-       private static final String ERROR_LOOKUP_FILE_PLANNING = "Error lookup 
file planning";
-       private static final String ERROR_UPDATE_DESCRIPTION = "Couldn't update 
description of the file.";
        private static final String ERROR_PREPARE_BEAN = "Error occured when 
preparing FileListBean instance..";
        
        // static fields
@@ -29,64 +24,25 @@
        private static final long serialVersionUID = 8826736093996213776L;      
        
        // fields
-       private List<cz.elvys.webServer.HIBgen.File> files = null;
-       private Document selectedDocument = null;
-       private cz.elvys.webServer.HIBgen.File updatedFile = null;
-       private List<FileType> displayedTypes = null;
+       private List<FileType> typesToDisplay = null;
        
        // other fields
        private FileManagerBL fileManagerBL = null;
 
        
 
-       public List<cz.elvys.webServer.HIBgen.File> getFiles() {
-               return files;
+       public List<FileType> getTypesToDisplay() {
+               return typesToDisplay;
        }
 
-       public Document getSelectedDocument() {
-               return selectedDocument;
+       public void setTypesToDisplay(List<FileType> typesToDisplay) {
+               this.typesToDisplay = typesToDisplay;
        }
 
-       public void setSelectedDocument(Document selectedDocument) {
-               this.selectedDocument = selectedDocument;
-       }
-       
-       public cz.elvys.webServer.HIBgen.File getUpdatedFile() {
-               return updatedFile;
-       }
 
-       public void setUpdatedFile(cz.elvys.webServer.HIBgen.File updatedFile) {
-               this.updatedFile = updatedFile;
-               int numUpdated = -1;
-               try {
-                       numUpdated = 
fileManagerBL.updateDescription(updatedFile.getId(), 
updatedFile.getDescription());
-                       if (numUpdated != 1) {
-                               throw new RuntimeException("strange count of 
inserted");
-                       }
-               } catch (Exception e) {
-                       String message = 
CommonUtils.prepareErrorMessage(ERROR_UPDATE_DESCRIPTION,
-                                       "fileId", updatedFile.getId(), 
"numUpdated", numUpdated);
-                       log.error(message,e);
-                       throw new RuntimeException(e);
-               }
-       }
-
-       
        // initialize
        {
                fileManagerBL = Fact.getFileManagerBL();
-               
-               // get list of types to be displayed
-               UserBean user = BeanManager.getUser();
-               int companyId = user.getUser().getCompany().getId();
-               try {
-                       displayedTypes = 
fileManagerBL.listCompanyAllowedFileTypesMakeSession(companyId);
-               } catch (Exception e) {
-                       String message = 
CommonUtils.prepareErrorMessage(ERROR_PREPARE_BEAN,
-                               "companyId", companyId);
-                       log.error(message,e);
-                       throw new RuntimeException(message,e);
-               }
        }
        
 
@@ -95,7 +51,7 @@
         * @return
         */
        public String prepareListRedirection() {
-               prepareList();
+               prepare();
                return "toFileList";
        }
        
@@ -104,80 +60,30 @@
         * @param e
         */
        public void prepareListNoRedirection(ActionEvent e) {
-               prepareList();
+               prepare();
        }
        
-       /**
-        * Just prepares list of files from DB.. 
-        */
-       private void prepareList() {
-               // invalidate old form data
-               invalidate();
-               // gets the user bean from context
+       
+       public void prepare() {
+               // get list of types to be displayed
                UserBean user = BeanManager.getUser();
-               int companyID = user.getUser().getCompany().getId();
-               
+               int companyId = user.getUser().getCompany().getId();
                try {
-                       files = fileManagerBL.listFilesOfCompany(companyID, 
displayedTypes);
+                       typesToDisplay = 
fileManagerBL.listCompanyAllowedFileTypesMakeSession(companyId);
                } catch (Exception e) {
-                       String message = 
CommonUtils.prepareErrorMessage(ERROR_SELECT_FILES, "companyID", companyID);
+                       String message = 
CommonUtils.prepareErrorMessage(ERROR_PREPARE_BEAN,
+                               "companyId", companyId);
                        log.error(message,e);
                        throw new RuntimeException(message,e);
                }
        }
        
        
-       /**
-        * Deletes all planning of given file and mark file as "deleted".
-        * Not really deletes the file.
-        * @param event
-        */
-       public void deleteFile(ActionEvent event) {
-               try {
-                       // delete file
-                       fileManagerBL.deleteFile(selectedDocument);
-               } catch (Exception e) {
-                       String message = 
CommonUtils.prepareErrorMessage(ERROR_DELETE_FILE, "fileName", selectedDocument 
!= null ? selectedDocument.getOrigName() : "null" );
-                       log.error(message, e);
-                       throw new RuntimeException(message, e);
-               }
-               
-               // remove selected document from collection
-               if (!files.remove(selectedDocument)) {
-                       // it means, that file is not in collection
-                       // do nothing
-                       //throw new RuntimeException("File deleting failed- 
File not found in collection");
-               }
-               
-               // invalidate form values
-               invalidate();
-       }
        
-       
-       
-       
        /**
-        * Tells, whether file has an existing future planning or not.
-        * Usefull before deleting file.
-        * @return true (has planning) or false (doesn't have planning)
-        */
-       public boolean getFileHasFuturePlanning() {
-               try {
-                       boolean result = 
fileManagerBL.fileHasFuturePlanning(selectedDocument);
-                       return result;
-               } catch (Exception e) {
-                       String message = 
CommonUtils.prepareErrorMessage(ERROR_LOOKUP_FILE_PLANNING, "fileName", 
selectedDocument != null ? selectedDocument.getOrigName() : "null" );
-                       log.error(message,e);
-                       throw new RuntimeException(message, e);
-               }
-       }       
-       
-       
-       
-       /**
         * invalidates after deleting,.. more?
         */
        public void invalidate() {
-               selectedDocument = null;
+               typesToDisplay = null;
        }
 }

Added: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListComponentBean.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListComponentBean.java
                              (rev 0)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListComponentBean.java
      2010-02-17 11:41:22 UTC (rev 1756)
@@ -0,0 +1,295 @@
+package cz.elvys.webServer.beans.filerel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.faces.event.ActionEvent;
+import javax.faces.model.SelectItem;
+
+import org.apache.log4j.Logger;
+
+import cz.elvys.commons.utils.CommonUtils;
+import cz.elvys.webServer.HIBgen.Document;
+import cz.elvys.webServer.HIBgen.FileType;
+import cz.elvys.webServer.beans.UserBean;
+import cz.elvys.webServer.utils.faces.BeanManager;
+import cz.elvys.webServer.utils.faces.MessageUtils;
+import elvys.server.bl.Fact;
+import elvys.server.bl.file.FileManagerBL;
+
+public class FileListComponentBean {
+
+       // consts
+       private static final String ALL_ALLOWED = "all"; // for selecting all 
allowed files
+       
+       // messages
+       private static final String ERROR_DELETE_FILE = "Error deleting file.";
+       private static final String ERROR_LOOKUP_FILE_PLANNING = "Error lookup 
file planning";
+       private static final String ERROR_UPDATE_DESCRIPTION = "Couldn't update 
description of the file.";
+       private static final String ERROR_INIT_BEAN = "Error occured when 
initializing FileListBean instance..";
+       private static final String ERROR_PREPARE_BEAN_DATA = "Error occured 
when preparing FileListBean data..";
+       
+       // static fields
+       Logger log = Logger.getLogger(FileListBean.class);
+       private static final long serialVersionUID = 8826736093996213776L;      
+       
+       // fields
+       private List<cz.elvys.webServer.HIBgen.File> files = null;
+       private Document selectedDocument = null;
+       private cz.elvys.webServer.HIBgen.File updatedFile = null;
+       private List<FileType> allowedFileTypeObjects = null;
+               // allowed file types
+       private String allowedFileTypes = null;
+               // list of file types to set one
+       private List<SelectItem> fileTypesToSelect = null;
+               // selected fileType field
+       private String selectedFileType = null;
+       
+       // other fields
+       private FileManagerBL fileManagerBL = null;
+
+       
+       
+       
+
+       public List<cz.elvys.webServer.HIBgen.File> getFiles() {
+               return files;
+       }
+
+       public Document getSelectedDocument() {
+               return selectedDocument;
+       }
+
+       public void setSelectedDocument(Document selectedDocument) {
+               this.selectedDocument = selectedDocument;
+       }
+       
+       public cz.elvys.webServer.HIBgen.File getUpdatedFile() {
+               return updatedFile;
+       }
+
+       public void setUpdatedFile(cz.elvys.webServer.HIBgen.File updatedFile) {
+               this.updatedFile = updatedFile;
+               int numUpdated = -1;
+               try {
+                       numUpdated = 
fileManagerBL.updateDescription(updatedFile.getId(), 
updatedFile.getDescription());
+                       if (numUpdated != 1) {
+                               throw new RuntimeException("strange count of 
inserted");
+                       }
+               } catch (Exception e) {
+                       String message = 
CommonUtils.prepareErrorMessage(ERROR_UPDATE_DESCRIPTION,
+                                       "fileId", updatedFile.getId(), 
"numUpdated", numUpdated);
+                       log.error(message,e);
+                       throw new RuntimeException(e);
+               }
+       }
+
+       public List<SelectItem> getFileTypesToSelect() {
+               return fileTypesToSelect;
+       }
+
+       public void setFileTypesToSelect(List<SelectItem> fileTypesToSelect) {
+               this.fileTypesToSelect = fileTypesToSelect;
+       }
+
+       public List<FileType> getAllowedFileTypeObjects() {
+               return allowedFileTypeObjects;
+       }
+
+       public void setAllowedFileTypeObjects(List<FileType> 
allowedFileTypeObjects) {
+               this.allowedFileTypeObjects = allowedFileTypeObjects;
+       }
+
+       public String getSelectedFileType() {
+               return selectedFileType;
+       }
+
+       public void setSelectedFileType(String selectedFileType) {
+               this.selectedFileType = selectedFileType;
+       }
+
+       public String getAllowedFileTypes() {
+               return allowedFileTypes;
+       }
+
+       public void setAllowedFileTypes(String allowedFileTypes) {
+               this.allowedFileTypes = allowedFileTypes;
+       }
+
+
+
+
+
+       // initialize
+       {
+               fileManagerBL = Fact.getFileManagerBL();
+       }
+       
+
+       /**
+        * prepares list of files and return redirection string
+        * @return
+        */
+       public String prepareDataRedirection() {
+               prepareData();
+               return "toFileList";
+       }
+       
+       /**
+        * prepares list of files and no redirection is performed
+        * @param e
+        */
+       public void prepareDataNoRedirection(ActionEvent e) {
+               prepareData();
+       }
+       
+       /**
+        *  initializes 
+        */
+       public void initFileComponent() {
+               if (allowedFileTypeObjects == null || 
allowedFileTypeObjects.size() == 0 ) 
+                       throw new RuntimeException("allowedFileTypeObjects 
null");
+               
+               
+               UserBean user = BeanManager.getUser();
+               int companyID = user.getUser().getCompany().getId();
+               
+               try {
+                       // prepare buttons for select file-type filter
+                       fileTypesToSelect = 
prepareFileTypeButtons(allowedFileTypeObjects, companyID);
+                       selectedFileType = 
(String)fileTypesToSelect.get(0).getValue();
+               } catch (Exception e) {
+                       String message = 
CommonUtils.prepareErrorMessage(ERROR_INIT_BEAN, "companyID", companyID);
+                       log.error(message,e);
+                       throw new RuntimeException(message,e);
+               }
+               
+               // prepare data of the component
+               prepareData();
+       }
+       
+       /**
+        * Just prepares list of files from DB.. 
+        */
+       private void prepareData() {
+               if (selectedFileType == null || 
selectedFileType.trim().equals(""))
+                       throw new RuntimeException("selectedFileType is null");
+               if (allowedFileTypeObjects == null || 
allowedFileTypeObjects.size() == 0)
+                       throw new RuntimeException("allowedFileTypeObjects is 
null");
+               
+               
+               // invalidate old form data
+               invalidate();
+               
+               UserBean user = BeanManager.getUser();
+               int companyID = user.getUser().getCompany().getId();
+               
+               try {
+                       // prepare list of FileType to select
+                       List<FileType> fileTypesToSelect = null;
+                       if (selectedFileType.equals(ALL_ALLOWED)) {
+                               // all fileTypes will be used for search
+                               fileTypesToSelect = allowedFileTypeObjects;
+                       } else {
+                               // only one(selected) file will be used for 
search
+                               fileTypesToSelect = new ArrayList<FileType>();
+                               for (FileType ft: allowedFileTypeObjects) {
+                                       if 
(ft.getType().equals(selectedFileType)) {
+                                               fileTypesToSelect.add(ft);
+                                       }
+                               }
+                               // count must be exactly 1
+                               if (fileTypesToSelect.size() != 1) {
+                                       String message = 
CommonUtils.prepareErrorMessage(
+                                               "no type for selecting 
files..");
+                                       throw new Exception(message);
+                               }
+                       }
+                       
+                       // prepare list of files
+                       files = fileManagerBL.listFilesOfCompany(companyID, 
fileTypesToSelect);
+               } catch (Exception e) {
+                       String message = 
CommonUtils.prepareErrorMessage(ERROR_PREPARE_BEAN_DATA, "companyID", 
companyID);
+                       log.error(message,e);
+                       throw new RuntimeException(message,e);
+               }
+       }
+       
+       private List<SelectItem> prepareFileTypeButtons(List<FileType> 
allowedTypes, Integer companyId) throws Exception {
+               if (allowedTypes == null || allowedTypes.size() == 0) throw new 
RuntimeException("allowedFileTypes empty"); 
+               
+               List<SelectItem> typesToShow = new ArrayList<SelectItem>();
+               
+               // add one special button when more types allowed
+               if (allowedTypes.size() > 1) {
+                       String labelKey = 
MessageUtils.getElvysFileTypeLabelPrefix()+ALL_ALLOWED;
+                       String labelValue = MessageUtils.getLabel(labelKey);
+                       typesToShow.add(new SelectItem(ALL_ALLOWED, 
labelValue));
+               }
+               
+               // add for each type one button
+               for (FileType ft: allowedTypes) {
+                       String labelKey = 
MessageUtils.getElvysFileTypeLabelPrefix()+ft.getType();
+                       String labelValue = MessageUtils.getLabel(labelKey);
+                       typesToShow.add(new 
SelectItem(ft.getType(),labelValue));
+               }
+               
+               return typesToShow;
+       }
+       
+
+       /**
+        * Deletes all planning of given file and mark file as "deleted".
+        * Not really deletes the file.
+        * @param event
+        */
+       public void deleteFile(ActionEvent event) {
+               try {
+                       // delete file
+                       fileManagerBL.deleteFile(selectedDocument);
+               } catch (Exception e) {
+                       String message = 
CommonUtils.prepareErrorMessage(ERROR_DELETE_FILE, "fileName", selectedDocument 
!= null ? selectedDocument.getOrigName() : "null" );
+                       log.error(message, e);
+                       throw new RuntimeException(message, e);
+               }
+               
+               // remove selected document from collection
+               if (!files.remove(selectedDocument)) {
+                       // it means, that file is not in collection
+                       // do nothing
+                       //throw new RuntimeException("File deleting failed- 
File not found in collection");
+               }
+               
+               // invalidate form values
+               invalidate();
+       }
+       
+
+       
+
+       /**
+        * Tells, whether file has an existing future planning or not.
+        * Usefull before deleting file.
+        * @return true (has planning) or false (doesn't have planning)
+        */
+       public boolean getFileHasFuturePlanning() {
+               try {
+                       boolean result = 
fileManagerBL.fileHasFuturePlanning(selectedDocument);
+                       return result;
+               } catch (Exception e) {
+                       String message = 
CommonUtils.prepareErrorMessage(ERROR_LOOKUP_FILE_PLANNING, "fileName", 
selectedDocument != null ? selectedDocument.getOrigName() : "null" );
+                       log.error(message,e);
+                       throw new RuntimeException(message, e);
+               }
+       }       
+       
+       
+       
+       /**
+        * invalidates after deleting,.. more?
+        */
+       public void invalidate() {
+               selectedDocument = null;
+       }
+       
+}

Added: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListInitTagHandler.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListInitTagHandler.java
                             (rev 0)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListInitTagHandler.java
     2010-02-17 11:41:22 UTC (rev 1756)
@@ -0,0 +1,51 @@
+package cz.elvys.webServer.beans.filerel;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.el.ELException;
+import javax.faces.FacesException;
+import javax.faces.component.UIComponent;
+
+import com.sun.facelets.FaceletContext;
+import com.sun.facelets.FaceletException;
+import com.sun.facelets.tag.TagAttribute;
+import com.sun.facelets.tag.TagConfig;
+import com.sun.facelets.tag.TagHandler;
+import com.sun.facelets.tag.jsf.ComponentSupport;
+
+import cz.elvys.webServer.HIBgen.FileType;
+import cz.elvys.webServer.utils.faces.BeanManager;
+
+public class FileListInitTagHandler extends TagHandler {
+
+       private TagAttribute allowedTypesAttr;
+       private List<FileType> allowedTypes;
+       
+       
+       public FileListInitTagHandler(TagConfig config) {
+               super(config);
+               allowedTypesAttr = 
this.getRequiredAttribute("fileTypesToSelect");
+       }
+
+       @Override
+       public void apply(FaceletContext ctx, UIComponent parent)
+                       throws IOException, FacesException, FaceletException, 
ELException {
+               
+               if (ComponentSupport.isNew(parent)) {
+                       // is newly wired to the component tree
+                       
+                       // get values from view
+                       allowedTypes = 
(List<FileType>)allowedTypesAttr.getObject(ctx);
+                       
+                       // pass values to the bean
+                       FileListComponentBean flcb = 
BeanManager.getFilelistComponentBean();
+                       flcb.setAllowedFileTypeObjects(allowedTypes);
+                       flcb.initFileComponent();
+               } else {
+                       // component has already been created
+                       // do nothing
+               }
+               
+       }
+}

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/component/filerel/FileListComponentBean.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/component/filerel/FileListComponentBean.java
  2010-02-17 11:38:46 UTC (rev 1755)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/component/filerel/FileListComponentBean.java
  2010-02-17 11:41:22 UTC (rev 1756)
@@ -18,6 +18,7 @@
 import elvys.server.bl.file.FileManagerBL;
 
 /**
+ * TODO this is the old one- check&delete
  * Bean used in a list of layouts component.
  * @author David
  *
@@ -176,7 +177,7 @@
        public static class FireListenerActionListener implements 
ActionListener {
                public void processAction(ActionEvent event)
                                throws AbortProcessingException {
-                       FileListComponentBean bean = 
BeanManager.getFileListComponentBean();
+                       FileListComponentBean bean = 
BeanManager.getFileListComponentOldBean();
                        bean.fireParameterizedActionListener(null);
                }
        }

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/component/layoutrel/LayoutListInitTagHandler.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/component/layoutrel/LayoutListInitTagHandler.java
     2010-02-17 11:38:46 UTC (rev 1755)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/component/layoutrel/LayoutListInitTagHandler.java
     2010-02-17 11:41:22 UTC (rev 1756)
@@ -45,9 +45,7 @@
                
        }
 
-       /* (non-Javadoc)
-        * @see 
com.sun.facelets.FaceletHandler#apply(com.sun.facelets.FaceletContext, 
javax.faces.component.UIComponent)
-        */
+       @Override
        public void apply(FaceletContext ctx, UIComponent parent)
                        throws IOException, FacesException, FaceletException, 
ELException {
                // process companyID

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties
 2010-02-17 11:38:46 UTC (rev 1755)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties
 2010-02-17 11:41:22 UTC (rev 1756)
@@ -1,3 +1,15 @@
+elvys.planning.type.document=PDF dokument
+elvys.planning.type.url=Internetov\u00E1 str\u00E1nka
+elvys.planning.type.text=Statick\u00FD text
+elvys.planning.type.dynamic=Dynamick\u00FD text
+elvys.planning.type.video=Video
+
+elvys.file.type.all=V\u0161e
+elvys.file.type.document=PDF
+elvys.file.type.video=Video
+
+
+
 login.title=P\u0159ihl\u00E1\u0161en\u00ED
 login.username=U\u017Eivatelsk\u00E9 jm\u00E9no
 login.password=Heslo

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/BeanManager.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/BeanManager.java
  2010-02-17 11:38:46 UTC (rev 1755)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/BeanManager.java
  2010-02-17 11:41:22 UTC (rev 1756)
@@ -57,6 +57,7 @@
        private static final String CATDEF_EDIT_BEAN = "catDefListBean";
        private static final String CATDEF_ASSIGN_STEP1_BEAN = 
"catDefAssignStep1Bean";
        private static final String CATDEF_ASSIGN_STEP2_BEAN = 
"catDefAssignStep2Bean";
+       private static final String FILE_LIST_COMPONENT_BEAN_OLD = 
"fileListComponentBeanOld";
        private static final String FILE_LIST_COMPONENT_BEAN = 
"fileListComponentBean";
        private static final String COMPANY_PERMITTED_TYPES_BEAN = 
"companyPermittedTypesBean";
        private static final String COMPANIES_BEAN = "companiesBean";
@@ -145,14 +146,24 @@
        }
        
        /**
-        * @return fileListComponentBean
+        * @return fileListComponentBeanOld
         */
-       public static FileListComponentBean getFileListComponentBean() {
-               FileListComponentBean flb = (FileListComponentBean) 
getBeanByContextName(FILE_LIST_COMPONENT_BEAN, FileListComponentBean.class);
+       public static FileListComponentBean getFileListComponentOldBean() {
+               FileListComponentBean flb = (FileListComponentBean) 
getBeanByContextName(FILE_LIST_COMPONENT_BEAN_OLD, FileListComponentBean.class);
                return flb;
        }
        
+       /**
+        * @return fileListComponentBean
+        */
+       public static cz.elvys.webServer.beans.filerel.FileListComponentBean 
getFilelistComponentBean() {
+               cz.elvys.webServer.beans.filerel.FileListComponentBean fcb = 
+                       
(cz.elvys.webServer.beans.filerel.FileListComponentBean) 
getBeanByContextName(FILE_LIST_COMPONENT_BEAN, 
+                                       
cz.elvys.webServer.beans.filerel.FileListComponentBean.class);
+               return fcb;
+       }
        
+       
        /**
         * gets filePlanning bean
         * @return instance
@@ -274,9 +285,13 @@
        
        /**
         * Method for getting label from label*.properties
+        * TODO - smazat metodu, upravit JM kod statistik
+        * @deprecated smazat, pouzivat {@link MessageUtils#getLabel(String)} 
         * @param key
         * @return
+        * 
         */
+       @Deprecated
        public static String getLabel(String key){              
                FacesContext facesContext = FacesContext.getCurrentInstance();
                Application app = facesContext.getApplication();

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/MessageUtils.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/MessageUtils.java
 2010-02-17 11:38:46 UTC (rev 1755)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/MessageUtils.java
 2010-02-17 11:41:22 UTC (rev 1756)
@@ -7,6 +7,10 @@
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
+import javax.el.ELContext;
+import javax.el.ExpressionFactory;
+import javax.el.ValueExpression;
+import javax.faces.application.Application;
 import javax.faces.application.FacesMessage;
 import javax.faces.context.FacesContext;
 
@@ -14,6 +18,9 @@
 
 public class MessageUtils implements Serializable {
 
+       // const
+       private static final String elvysFileTypeLabelPrefix = 
"elvys.file.type.";
+       private static final String elvysPlanningTypeLabelPrefix = 
"elvys.planning.type.";
        
        
        
@@ -153,4 +160,40 @@
        public static ValidationMessageHolder 
prepareValidationMessageHolder2(String compId, String formId, String 
messageRef, Object... params) {
                return prepareValidationMessageHolder(formId+":"+compId, 
messageRef, params);
        }
+       
+       
+       
+       
+       
+       /**
+        * @return prefix of label key in format: "xxx.yy.zz."
+        */
+       public static String getElvysFileTypeLabelPrefix() {
+               return elvysFileTypeLabelPrefix;
+               
+               
+       }
+       
+       /**
+        * @return prefix of label key in format: "xxx.yy.zz."
+        */
+       public static String getElvysPlanningTypeLabelPrefix() {
+               return elvysPlanningTypeLabelPrefix;
+       }
+       
+       
+       /**
+        * Method for getting localized label from label*.properties
+        * @param key label key
+        * @return label value
+        */
+       public static String getLabel(String key){              
+               FacesContext facesContext = FacesContext.getCurrentInstance();
+               Application app = facesContext.getApplication();
+               ExpressionFactory elFactory = app.getExpressionFactory();
+               ELContext elContext = facesContext.getELContext();
+               ValueExpression valueExp = 
elFactory.createValueExpression(elContext, "#{lbl['" + key + "']}", 
Object.class);
+               return valueExp.getValue(elContext).toString(); 
+       }
+       
 }

Modified: trunk/server/webServer2/WebContent/WEB-INF/faces-beans.xml
===================================================================
--- trunk/server/webServer2/WebContent/WEB-INF/faces-beans.xml  2010-02-17 
11:38:46 UTC (rev 1755)
+++ trunk/server/webServer2/WebContent/WEB-INF/faces-beans.xml  2010-02-17 
11:41:22 UTC (rev 1756)
@@ -24,6 +24,16 @@
   <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>
  <managed-bean>
+  <managed-bean-name>fileListComponentBeanOld</managed-bean-name>
+  
<managed-bean-class>cz.elvys.webServer.component.filerel.FileListComponentBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>fileListComponentBean</managed-bean-name>
+  
<managed-bean-class>cz.elvys.webServer.beans.filerel.FileListComponentBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
   <managed-bean-name>companiesBean</managed-bean-name>
   
<managed-bean-class>cz.elvys.webServer.beans.CompaniesBean</managed-bean-class>
   <managed-bean-scope>session</managed-bean-scope>
@@ -59,11 +69,6 @@
   <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>
  <managed-bean>
-  <managed-bean-name>fileListComponentBean</managed-bean-name>
-  
<managed-bean-class>cz.elvys.webServer.component.filerel.FileListComponentBean</managed-bean-class>
-  <managed-bean-scope>session</managed-bean-scope>
- </managed-bean>
- <managed-bean>
   <managed-bean-name>layoutPreviewBean</managed-bean-name>
   
<managed-bean-class>cz.elvys.webServer.beans.layoutrel.LayoutPreviewBean</managed-bean-class>
   <managed-bean-scope>session</managed-bean-scope>

Added: 
trunk/server/webServer2/WebContent/js/components/file/fileListComponent.js
===================================================================
Added: 
trunk/server/webServer2/WebContent/secured/components/file/fileListComponent.xhtml
===================================================================
--- 
trunk/server/webServer2/WebContent/secured/components/file/fileListComponent.xhtml
                          (rev 0)
+++ 
trunk/server/webServer2/WebContent/secured/components/file/fileListComponent.xhtml
  2010-02-17 11:41:22 UTC (rev 1756)
@@ -0,0 +1,226 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<ui:component xmlns="http://www.w3.org/1999/xhtml";
+       xmlns:h="http://java.sun.com/jsf/html";
+       xmlns:f="http://java.sun.com/jsf/core";
+       xmlns:ui="http://java.sun.com/jsf/facelets";
+       xmlns:a4j="http://richfaces.org/a4j";
+       xmlns:rich="http://richfaces.org/rich";
+       xmlns:elvys="http://www.elvys.farm.particle.cz";>
+       
+<!-- PROTOCOL
+INPUT:
+ |     -id (REQUIRED):
+ |             id of the component
+ |     -fileTypesToSelect (REQUIRED):
+ |             List<SelectItem> with file-types
+ |  -x (REQUIRED):
+ |             java.util.Date() value binding of the time-spinner (distinct 
from valueTime)
+ |     -x (REQUIRED):
+ |             String value of id of the jsf Form the component is placed in
+ |     -x: 
+ |             String value of label
+ |  -x:
+ |             String value of tooltip
+ |             tooltip and label must be specified to show tooltip
+ |
+ |
+
+ -->
+
+
+<!-- prepsat labely (file.list.component...) -->
+
+
+<a4j:loadStyle src="/styles/components/file/fileListComponent.css"/>
+<script type="text/javascript" language="javascript" 
src="/webServer2/js/components/file/fileListComponent.js"/>
+
+<rich:panel>
+       <f:facet name="header">#{lbl['file.manager.list.header']}</f:facet>
+
+<!-- BAD CONTRACT -->
+<h:panelGroup
+       rendered="#{empty id 
+               or empty fileTypesToSelect}">
+       <h:outputText value="BAD CONTRACT" styleClass="error"/>
+</h:panelGroup>
+
+<h:panelGroup
+       rendered="#{not empty id 
+               and not empty fileTypesToSelect}">
+               
+<elvys:fileListInitTagHandler
+               fileTypesToSelect="#{fileTypesToSelect}"/>                      
+
+<h:form id="FileListComponent" styleClass="file-list-component">
+       <h:panelGroup id="fileListAreaAll" styleClass="file-list-area-all">
+               <h:panelGroup id="fileListButtons" 
styleClass="file-list-buttons">
+                       <h:selectOneRadio id="fileTypes"
+                               
value="#{fileListComponentBean.selectedFileType}">
+                               <f:selectItems 
value="#{fileListComponentBean.fileTypesToSelect}"/>
+                               <a4j:support 
+                                       event="onchange" 
+                                       reRender="fileListAreaAll" 
immediate="false"
+                                       
actionListener="#{fileListComponentBean.prepareDataNoRedirection}"/>
+                       </h:selectOneRadio>
+               </h:panelGroup>
+               <rich:dataTable id="fileList" 
+                       value="#{fileListComponentBean.files}"
+                       rows="10" 
+                       var="file" 
+                       columnsWidth="250px,80px,60px,75px,150px,25px,25px,25px"
+                       width="700"
+                       styleClass="file-table"
+                       columnClasses="fileList-table-column-class">
+
+               <!--    
+                       <h:column rendered="true">
+                               <f:facet 
name="header">#{lbl['file.manager.list.id']}</f:facet>
+                               <h:outputText value="#{file.id}" />
+                       </h:column>
+               -->
+                       <h:column>
+                               <f:facet 
name="header">#{lbl['file.manager.list.name']}</f:facet>
+                               <h:graphicImage id="document" 
url="/images/documents/pdf.jpg" 
+                                       rendered="#{file.fileType.type == 
'document'}"/>
+                               <h:graphicImage id="video" 
url="/images/documents/video.gif" 
+                                       rendered="#{file.fileType.type == 
'video'}"/>
+                               <h:outputText value=" #{file.origName}" />
+                       </h:column>
+                       <h:column>
+                               <f:facet 
name="header">#{lbl['file.manager.list.length']}</f:facet>
+                               <h:outputText value="#{file.pageCount} 
#{lbl['file.manager.list.length.pages']}" rendered="#{file.fileType.type == 
'document'}"/>
+                               <h:outputText value="#{file.length}" 
rendered="#{file.fileType.type == 'video'}">
+                                       <f:converter 
converterId="videoLengthConverter"/>
+                               </h:outputText>
+                               <!--  -->
+                       </h:column>
+                       <h:column>
+                               <f:facet 
name="header">#{lbl['file.manager.list.user']}</f:facet>
+                               <h:outputText value="#{file.user.surname}"/>
+                       </h:column>
+                       <h:column>
+                               <f:facet 
name="header">#{lbl['file.manager.list.time']}</f:facet>
+                               <div class="file-upload-datetime-div">
+                                       <h:outputText value="#{file.uploaded}" 
styleClass="file-upload-date">
+                                               <f:convertDateTime 
dateStyle="short" pattern="dd.MM.yyyy" timeZone="#{user.defaultTimezone}" 
type="date"/>
+                                       </h:outputText>
+                                       <h:outputText value="#{file.uploaded}" 
styleClass="file-upload-time">
+                                               <f:convertDateTime 
dateStyle="short" pattern="HH:mm" timeZone="#{user.defaultTimezone}" 
type="time"/>
+                                       </h:outputText>
+                               </div>
+                       </h:column>
+                       <rich:column>
+                   <f:facet name="header">
+                       <h:outputText value="#{lbl['file.manager.list.note']}" 
/>
+                   </f:facet>
+                   <rich:inplaceInput layout="block" 
value="#{file.description}"
+                       id="inplaceId" required="false"
+                       defaultLabel="#{lbl['file.manager.list.defaultnote']}" 
+                       changedHoverClass="hover" viewHoverClass="hover"
+                       controlsHorizontalPosition="left" 
controlsVerticalPosition="top"
+                       showControls="true"
+                       viewClass="inplace" changedClass="inplace"
+                       selectOnEdit="true" editEvent="onclick">
+                       
+                       <a4j:support event="onviewactivated" 
+                               reRender="fileList" 
+                               immediate="false">
+                                               <f:setPropertyActionListener 
value="#{file}" target="#{fileListComponentBean.updatedFile}" />
+                                       </a4j:support>
+                   </rich:inplaceInput>
+               </rich:column>
+                                       
+                       
+                       <h:column>
+                               <a4j:commandButton 
+                                                       id= "downloadButton"
+                                                       
image="/images/icons/download.png"
+                                                       reRender="fileList"
+                                                       
onclick="downloadFile('#{file.compIdentifier}','#{file.uniqName}')">
+                               </a4j:commandButton>
+                               <rich:toolTip for="downloadButton"> 
+                                       <h:outputText 
value="#{lbl['file.manager.list.downloadtooltip']}"/>
+                               </rich:toolTip>
+                       </h:column>
+                       <h:column>
+                               <a4j:commandButton 
+                                                       id= "deleteButton"
+                                                       reRender="DeleteForm" 
+                                                       
oncomplete="Richfaces.showModalPanel('DeleteDocument',{left:300, top:300})"
+                                                       
image="/images/icons/delete.gif">
+                                       <f:setPropertyActionListener 
value="#{file}" target="#{fileListComponentBean.selectedDocument}" />
+                               </a4j:commandButton>
+                               <rich:toolTip for="deleteButton"> 
+                                       <h:outputText 
value="#{lbl['file.manager.list.deletetooltip']}"/>
+                               </rich:toolTip>
+                       </h:column>
+                       <h:column>
+                       <f:facet name="header">
+                               <h:panelGroup>
+                                       <h:commandButton id="UploadNew"
+                                                       
image="/images/icons/create.png"
+                                                       immediate="true"
+                                                       
action="#{fileUploadBean.prepareUploadComponent}">
+                                       </h:commandButton>
+                                       <rich:toolTip for="UploadNew">
+                                               <h:outputText 
value="#{lbl['file.manager.list.uploadnew']}"/>
+                                       </rich:toolTip>
+                               </h:panelGroup>
+                       </f:facet>
+               </h:column>
+                       <f:facet name="footer">
+                               <rich:datascroller renderIfSinglePage="false" 
immediate="true"/>
+                       </f:facet>
+                       <rich:componentControl rendered="false" 
event="onRowDblClick" for="fileMenu"
+                               operation="show">
+                               <f:param value="#{file.origName}" 
name="origName" />
+                               <f:param value="#{file.id}" name="id" />
+                       </rich:componentControl>
+               </rich:dataTable>
+       </h:panelGroup>
+       <br style="clear:both;"/>
+</h:form>
+       
+<rich:modalPanel id="DeleteDocument" minHeight="100" minWidth="200"
+       height="150" width="200" zindex="2000">
+       <f:facet name="header">
+               <h:outputText value="#{lbl['file.manager.modal.delete']}" />
+       </f:facet>
+       <f:facet name="controls">
+               <a4j:commandButton 
+                                       style="cursor:pointer"
+                                       
onclick="Richfaces.hideModalPanel('DeleteDocument')"
+                                       image="/images/icons/close.gif"
+                                       reRender="fileList"
+                                       rendered="false">
+               </a4j:commandButton>
+       </f:facet>
+       <center>
+       <h:form id="DeleteForm">
+               
<b><h:outputText>#{lbl['file.manager.modal.deletequestion']}:</h:outputText></b>
 <br/>
+               <h:outputText 
value="#{fileListComponentBean.selectedDocument.origName}:"/>
+               <br/>
+               <h:panelGroup rendered="#{not empty 
fileListComponentBean.selectedDocument}">
+                       <b><h:outputText 
rendered="#{fileListComponentBean.fileHasFuturePlanning eq 
true}">#{lbl['file.manager.modal.deletecaution']}</h:outputText> </b> <br/>
+               </h:panelGroup>
+               <h:panelGrid columns="2">
+                       <a4j:commandButton 
value="#{lbl['file.manager.modal.yes']}" 
+                               
onclick="Richfaces.hideModalPanel('DeleteDocument')"
+                               
actionListener="#{fileListComponentBean.deleteFile}" 
+                               reRender="fileList">
+                       </a4j:commandButton>
+                       <a4j:commandButton 
value="#{lbl['file.manager.modal.no']}"
+                               
onclick="Richfaces.hideModalPanel('DeleteDocument')"
+                               reRender="fileList"/>
+               </h:panelGrid>
+       </h:form>
+       </center>
+</rich:modalPanel>     
+</h:panelGroup>
+</rich:panel>
+
+
+</ui:component>
+
+
+

Modified: trunk/server/webServer2/WebContent/secured/filerel/fileList.xhtml
===================================================================
--- trunk/server/webServer2/WebContent/secured/filerel/fileList.xhtml   
2010-02-17 11:38:46 UTC (rev 1755)
+++ trunk/server/webServer2/WebContent/secured/filerel/fileList.xhtml   
2010-02-17 11:41:22 UTC (rev 1756)
@@ -5,7 +5,8 @@
        xmlns:ui="http://java.sun.com/jsf/facelets";
        xmlns:a4j="http://richfaces.org/a4j";
        xmlns:rich="http://richfaces.org/rich";
-       xmlns:s="http://jboss.com/products/seam/taglib";>
+       xmlns:s="http://jboss.com/products/seam/taglib";
+       xmlns:elvys="http://www.elvys.farm.particle.cz";>
 
 <ui:composition template="/template/elvys-template.xhtml">
        
@@ -32,185 +33,8 @@
        <ui:define name="contentSubTitle"></ui:define>
 
        <ui:define name="contentBody">
-               
-               <h:form id="fileListForm">
-
-                       <rich:contextMenu attached="false" id="fileMenu" 
submitMode="ajax">
-                               <rich:menuItem ajaxSingle="true" 
disabled="true">
-                                       <b>{id}-{origName}</b>
-                               </rich:menuItem>
-                               <rich:menuSeparator rendered="true" />
-                               <rich:menuItem ajaxSingle="true" 
actionListener="#{fileListBean.deleteFile}">
-                                       <f:facet name="icon">
-                                               <h:graphicImage 
value="/images/icons/delete.gif" />
-                                       </f:facet>
-                                       Delete
-                                       <f:param name="documentID" 
value="{id}"/>
-                               </rich:menuItem>
-                               <rich:menuItem rendered="false" 
ajaxSingle="true">
-                                       Download
-                               </rich:menuItem>
-                       </rich:contextMenu>
-
-                       <rich:panel>
-                               <f:facet 
name="header">#{lbl['file.manager.list.header']}</f:facet>
-                               <h:panelGroup id="info" styleClass="FileList">
-                                       <rich:dataTable id="fileList" 
-                                               value="#{fileListBean.files}"
-                                               rows="10" 
-                                               var="file" 
-                                               
columnsWidth="250px,80px,60px,75px,150px,25px,25px,25px"
-                                               width="700"
-                                               style="table-layout:fixed;"
-                                               
columnClasses="fileList-table-column-class">
-
-                                       <!--    <h:column rendered="true">
-                                                       <f:facet 
name="header">#{lbl['file.manager.list.id']}</f:facet>
-                                                       <h:outputText 
value="#{file.id}" />
-                                               </h:column>
-                                       -->
-                                               <h:column>
-                                                       <f:facet 
name="header">#{lbl['file.manager.list.name']}</f:facet>
-                                                       <h:graphicImage 
id="document" url="/images/documents/pdf.jpg" 
-                                                               
rendered="#{file.fileType.type == 'document'}"/>
-                                                       <h:graphicImage 
id="video" url="/images/documents/video.gif" 
-                                                               
rendered="#{file.fileType.type == 'video'}"/>
-                                                       <h:outputText value=" 
#{file.origName}" />
-                                               </h:column>
-                                               <h:column>
-                                                       <f:facet 
name="header">#{lbl['file.manager.list.length']}</f:facet>
-                                                       <h:outputText 
value="#{file.pageCount} #{lbl['file.manager.list.length.pages']}" 
rendered="#{file.fileType.type == 'document'}"/>
-                                                       <h:outputText 
value="#{file.length}" rendered="#{file.fileType.type == 'video'}">
-                                                               <f:converter 
converterId="videoLengthConverter"/>
-                                                       </h:outputText>
-                                                       <!--  -->
-                                               </h:column>
-                                               <h:column>
-                                                       <f:facet 
name="header">#{lbl['file.manager.list.user']}</f:facet>
-                                                       <h:outputText 
value="#{file.user.surname}"/>
-                                               </h:column>
-                                               <h:column>
-                                                       <f:facet 
name="header">#{lbl['file.manager.list.time']}</f:facet>
-                                                       <div 
class="file-upload-datetime-div">
-                                                               <h:outputText 
value="#{file.uploaded}" styleClass="file-upload-date">
-                                                                       
<f:convertDateTime dateStyle="short" pattern="dd.MM.yyyy" 
timeZone="#{user.defaultTimezone}" type="date"/>
-                                                               </h:outputText>
-                                                               <h:outputText 
value="#{file.uploaded}" styleClass="file-upload-time">
-                                                                       
<f:convertDateTime dateStyle="short" pattern="HH:mm" 
timeZone="#{user.defaultTimezone}" type="time"/>
-                                                               </h:outputText>
-                                                       </div>
-                                               </h:column>
-                                               <rich:column>
-                                   <f:facet name="header">
-                                       <h:outputText 
value="#{lbl['file.manager.list.note']}" />
-                                   </f:facet>
-                                   <rich:inplaceInput layout="block" 
value="#{file.description}"
-                                       id="inplaceId" required="false"
-                                       
defaultLabel="#{lbl['file.manager.list.defaultnote']}" 
-                                       changedHoverClass="hover" 
viewHoverClass="hover"
-                                       controlsHorizontalPosition="left" 
controlsVerticalPosition="top"
-                                       showControls="true"
-                                       viewClass="inplace" 
changedClass="inplace"
-                                       selectOnEdit="true" editEvent="onclick">
-                                       
-                                       <a4j:support event="onviewactivated" 
-                                               reRender="fileList" 
-                                               immediate="false">
-                                                                       
<f:setPropertyActionListener value="#{file}" 
target="#{fileListBean.updatedFile}" />
-                                                               </a4j:support>
-                                   </rich:inplaceInput>
-                               </rich:column>
-                                                               
-                                               
-                                               <h:column>
-                                                       <a4j:commandButton 
-                                                                               
id= "downloadButton"
-                                                                               
image="/images/icons/download.png"
-                                                                               
reRender="fileList"
-                                                                               
onclick="downloadFile('#{file.compIdentifier}','#{file.uniqName}')">
-                                                       </a4j:commandButton>
-                                                       <rich:toolTip 
for="downloadButton"> 
-                                                               <h:outputText 
value="#{lbl['file.manager.list.downloadtooltip']}"/>
-                                                       </rich:toolTip>
-                                               </h:column>
-                                               <h:column>
-                                                       <a4j:commandButton 
-                                                                               
id= "deleteButton"
-                                                                               
reRender="DeleteForm" 
-                                                                               
oncomplete="Richfaces.showModalPanel('DeleteDocument',{left:300, top:300})"
-                                                                               
image="/images/icons/delete.gif">
-                                                               
<f:setPropertyActionListener value="#{file}" 
target="#{fileListBean.selectedDocument}" />
-                                                       </a4j:commandButton>
-                                                       <rich:toolTip 
for="deleteButton"> 
-                                                               <h:outputText 
value="#{lbl['file.manager.list.deletetooltip']}"/>
-                                                       </rich:toolTip>
-                                               </h:column>
-                                               <h:column>
-                                               <f:facet name="header">
-                                                       <h:panelGroup>
-                                                               
<h:commandButton id="UploadNew"
-                                                                               
image="/images/icons/create.png"
-                                                                               
immediate="true"
-                                                                               
action="#{fileUploadBean.prepareUploadComponent}">
-                                                               
</h:commandButton>
-                                                               <rich:toolTip 
for="UploadNew">
-                                                                       
<h:outputText value="#{lbl['file.manager.list.uploadnew']}"/>
-                                                               </rich:toolTip>
-                                                       </h:panelGroup>
-                                               </f:facet>
-                                       </h:column>
-                                               <f:facet name="footer">
-                                                       <rich:datascroller 
renderIfSinglePage="false" immediate="true"/>
-                                               </f:facet>
-                                               <rich:componentControl 
rendered="false" event="onRowDblClick" for="fileMenu"
-                                                       operation="show">
-                                                       <f:param 
value="#{file.origName}" name="origName" />
-                                                       <f:param 
value="#{file.id}" name="id" />
-                                               </rich:componentControl>
-                                       </rich:dataTable>
-                               </h:panelGroup>
-                               
-                               <br style="clear:both;"/>
-                       </rich:panel>
-               </h:form>
-               
-               
-               <rich:modalPanel id="DeleteDocument" minHeight="100" 
minWidth="200"
-                       height="150" width="200" zindex="2000">
-                       <f:facet name="header">
-                               <h:outputText 
value="#{lbl['file.manager.modal.delete']}" />
-                       </f:facet>
-                       <f:facet name="controls">
-                               <a4j:commandButton 
-                                                       style="cursor:pointer"
-                                                       
onclick="Richfaces.hideModalPanel('DeleteDocument')"
-                                                       
image="/images/icons/close.gif"
-                                                       reRender="fileList"
-                                                       rendered="false">
-                               </a4j:commandButton>
-                       </f:facet>
-                       <center>
-                       <h:form id="DeleteForm">
-                               
<b><h:outputText>#{lbl['file.manager.modal.deletequestion']}:</h:outputText></b>
 <br/>
-                               <h:outputText 
value="#{fileListBean.selectedDocument.origName}:"/>
-                               <br/>
-                               <h:panelGroup rendered="#{not empty 
fileListBean.selectedDocument}">
-                                       <b><h:outputText 
rendered="#{fileListBean.fileHasFuturePlanning eq 
true}">#{lbl['file.manager.modal.deletecaution']}</h:outputText> </b> <br/>
-                               </h:panelGroup>
-                               <h:panelGrid columns="2">
-                                       <a4j:commandButton 
value="#{lbl['file.manager.modal.yes']}" 
-                                               
onclick="Richfaces.hideModalPanel('DeleteDocument')"
-                                               
actionListener="#{fileListBean.deleteFile}" 
-                                               reRender="fileList">
-                                       </a4j:commandButton>
-                                       <a4j:commandButton 
value="#{lbl['file.manager.modal.no']}"
-                                               
onclick="Richfaces.hideModalPanel('DeleteDocument')"
-                                               reRender="fileList"/>
-                               </h:panelGrid>
-                       </h:form>
-                       </center>
-               </rich:modalPanel>
-               
+               <elvys:fileListComponent id="FileListComponent" 
+                       fileTypesToSelect="#{fileListBean.typesToDisplay}"/>
        </ui:define>
 
 

Added: 
trunk/server/webServer2/WebContent/styles/components/file/fileListComponent.css
===================================================================
--- 
trunk/server/webServer2/WebContent/styles/components/file/fileListComponent.css 
                            (rev 0)
+++ 
trunk/server/webServer2/WebContent/styles/components/file/fileListComponent.css 
    2010-02-17 11:41:22 UTC (rev 1756)
@@ -0,0 +1,30 @@
+.file-list-component {
+
+
+}
+
+
+.file-list-area-all {
+       
+}
+
+.file-table
+{
+       table-layout: fixed;    
+}
+
+
+.file-upload-datetime-div {
+       
+}
+
+.file-upload-date {
+       float: right;
+}
+
+
+.file-upload-time {
+       float: right;
+}
+
+

Modified: trunk/server/webServer2/WebContent/styles/filerel/fileList.css
===================================================================
--- trunk/server/webServer2/WebContent/styles/filerel/fileList.css      
2010-02-17 11:38:46 UTC (rev 1755)
+++ trunk/server/webServer2/WebContent/styles/filerel/fileList.css      
2010-02-17 11:41:22 UTC (rev 1756)
@@ -2,21 +2,4 @@
        overflow: hidden;
 }
 
-.FileList
-{
-               
-}
 
-
-.file-upload-datetime-div {
-       
-}
-
-.file-upload-date {
-       float: right;
-}
-
-
-.file-upload-time {
-       float: right;
-}
\ No newline at end of file


Other related posts:

  • » [elvystrac] r1756 - 1)list of files moved into the standalone component - elvys:fileListComponent (FileListComponent.xhtml) - elvys