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