Author: DavidK Date: 2010-02-18 11:25:00 +0100 (Thu, 18 Feb 2010) New Revision: 1772 Added: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListModalComponentBean.java trunk/server/webServer2/WebContent/js/components/file/fileListModalComponent.js trunk/server/webServer2/WebContent/js/file/ trunk/server/webServer2/WebContent/js/file/fileList.js trunk/server/webServer2/WebContent/secured/components/dateLabelComponent.xhtml trunk/server/webServer2/WebContent/secured/components/dateTimeLabelComponent.xhtml trunk/server/webServer2/WebContent/secured/components/file/fileListModalComponent.xhtml trunk/server/webServer2/WebContent/styles/components/file/fileListModalComponent.css trunk/server/webServer2/WebContent/styles/file/ trunk/server/webServer2/WebContent/styles/file/fileList.css Removed: trunk/server/webServer2/WebContent/styles/filerel/fileList.css Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListBean.java 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/JavaSource/cz/elvys/webServer/beans/planningrel/plug/PlanningModalDocumentBean.java trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/plug/PlanningModalVideoBean.java trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties trunk/server/webServer2/WebContent/WEB-INF/elvystags.xml trunk/server/webServer2/WebContent/js/components/file/fileListComponent.js trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml trunk/server/webServer2/WebContent/secured/components/file/fileListComponent.xhtml trunk/server/webServer2/WebContent/secured/components/layout/layoutSelectAndCloseComp.xhtml trunk/server/webServer2/WebContent/secured/components/layoutListComponent.xhtml trunk/server/webServer2/WebContent/secured/elvysrel/planDocuments.xhtml trunk/server/webServer2/WebContent/secured/filerel/fileList.xhtml trunk/server/webServer2/WebContent/secured/plug/planningModalDocument.xhtml trunk/server/webServer2/WebContent/secured/plug/planningModalDocumentInnerModal.xhtml trunk/server/webServer2/WebContent/secured/plug/planningModalVideo.xhtml trunk/server/webServer2/WebContent/secured/plug/planningModalVideoInnerModal.xhtml trunk/server/webServer2/WebContent/styles/components/category/categoryDefinitionListComponent.css trunk/server/webServer2/WebContent/styles/components/file/fileListComponent.css trunk/server/webServer2/WebContent/styles/components/layout/layoutListComponent.css trunk/server/webServer2/WebContent/styles/components/layout/layoutSelectAndCloseComp.css trunk/server/webServer2/WebContent/styles/elvys-template.css trunk/server/webServer2/WebContent/template/elvys-template.xhtml Log: component for list of files changed - now is applicable for modal windows as 'selectable' list 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-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListBean.java 2010-02-18 10:25:00 UTC (rev 1772) @@ -52,6 +52,10 @@ */ public String prepareListRedirection() { prepare(); + return justRedirection(); + } + + public String justRedirection() { return "toFileList"; } Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListComponentBean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListComponentBean.java 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListComponentBean.java 2010-02-18 10:25:00 UTC (rev 1772) @@ -3,7 +3,9 @@ import java.util.ArrayList; import java.util.List; +import javax.faces.event.AbortProcessingException; import javax.faces.event.ActionEvent; +import javax.faces.event.ActionListener; import javax.faces.model.SelectItem; import org.apache.log4j.Logger; @@ -28,7 +30,9 @@ 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.."; + private static final String CANNOT_CALL = "Couldn't call registered listener"; + // static fields Logger log = Logger.getLogger(FileListBean.class); private static final long serialVersionUID = 8826736093996213776L; @@ -38,6 +42,8 @@ private Document selectedDocument = null; private cz.elvys.webServer.HIBgen.File updatedFile = null; private List<FileType> allowedFileTypeObjects = null; + // registered listener + private String afterSelectionListener1 = null; // allowed file types private String allowedFileTypes = null; // list of file types to set one @@ -100,6 +106,14 @@ this.allowedFileTypeObjects = allowedFileTypeObjects; } + public String getAfterSelectionListener1() { + return afterSelectionListener1; + } + + public void setAfterSelectionListener1(String afterSelectionListener1) { + this.afterSelectionListener1 = afterSelectionListener1; + } + public String getSelectedFileType() { return selectedFileType; } @@ -115,11 +129,11 @@ public void setAllowedFileTypes(String allowedFileTypes) { this.allowedFileTypes = allowedFileTypes; } + - // initialize { fileManagerBL = Fact.getFileManagerBL(); @@ -147,10 +161,15 @@ * initializes */ public void initFileComponent() { + // check INIT CALL PARAMS + // 1) required allowedFileTypeObjects if (allowedFileTypeObjects == null || allowedFileTypeObjects.size() == 0 ) - throw new RuntimeException("allowedFileTypeObjects null"); + throw new RuntimeException("BAD CONTRACT: allowedFileTypeObjects null"); + // 2) optional afterSelectionListener1 + // no check + UserLoginBean user = BeanManager.getUser(); int companyID = user.getUser().getCompany().getId(); @@ -286,6 +305,55 @@ /** + * ActionListener for initialization of component + * @author David + * + */ + public static class InitComponentActionListener implements ActionListener { + public void processAction(ActionEvent event) + throws AbortProcessingException { + FileListComponentBean bean = BeanManager.getFilelistComponentBean(); + bean.initFileComponent(); + } + } + + + + /** + * fires set object to destination and fires registered actionListener + * @param aev + */ + public void callListener1(ActionEvent aev) { + // calling registered listener + if (afterSelectionListener1 != null && !afterSelectionListener1.trim().equals("")) { + try { + // call registered ActionEvent + BeanManager.fireActionListener(afterSelectionListener1); + } catch (Exception e) { + String message = CommonUtils.prepareErrorMessage(CANNOT_CALL + ,"listener", afterSelectionListener1); + log.error(message, e); + throw new RuntimeException(message, e); + } + } + } + + + /** + * ActionListener for calling doAction1 + * @author David + * + */ + public static class AfterSelectionListener1ActionListener implements ActionListener { + public void processAction(ActionEvent event) + throws AbortProcessingException { + FileListComponentBean bean = BeanManager.getFilelistComponentBean(); + bean.callListener1(null); + } + } + + + /** * invalidates after deleting,.. more? */ public void invalidate() { Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListInitTagHandler.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListInitTagHandler.java 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListInitTagHandler.java 2010-02-18 10:25:00 UTC (rev 1772) @@ -20,12 +20,14 @@ public class FileListInitTagHandler extends TagHandler { private TagAttribute allowedTypesAttr; - private List<FileType> allowedTypes; + private TagAttribute afterSelectionListener1Attr; + public FileListInitTagHandler(TagConfig config) { super(config); allowedTypesAttr = this.getRequiredAttribute("fileTypesToSelect"); + afterSelectionListener1Attr = this.getAttribute("afterSelectionListener1"); } @Override @@ -36,11 +38,16 @@ // is newly wired to the component tree // get values from view - allowedTypes = (List<FileType>)allowedTypesAttr.getObject(ctx); + List<FileType> allowedTypes = (List<FileType>)allowedTypesAttr.getObject(ctx); + String afterSelectionListener1 = null; + if (afterSelectionListener1Attr != null) { + afterSelectionListener1 = afterSelectionListener1Attr.getValue(); + } // pass values to the bean FileListComponentBean flcb = BeanManager.getFilelistComponentBean(); flcb.setAllowedFileTypeObjects(allowedTypes); + flcb.setAfterSelectionListener1(afterSelectionListener1); flcb.initFileComponent(); } else { // component has already been created Added: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListModalComponentBean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListModalComponentBean.java (rev 0) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/filerel/FileListModalComponentBean.java 2010-02-18 10:25:00 UTC (rev 1772) @@ -0,0 +1,10 @@ +package cz.elvys.webServer.beans.filerel; + +public class FileListModalComponentBean { + + + + + + +} Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/plug/PlanningModalDocumentBean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/plug/PlanningModalDocumentBean.java 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/plug/PlanningModalDocumentBean.java 2010-02-18 10:25:00 UTC (rev 1772) @@ -1,26 +1,52 @@ package cz.elvys.webServer.beans.planningrel.plug; +import java.util.ArrayList; +import java.util.List; + import javax.faces.event.ActionEvent; import org.apache.log4j.Logger; +import cz.elvys.commons.utils.CommonUtils; import cz.elvys.webServer.HIBgen.ContentType; import cz.elvys.webServer.HIBgen.Document; import cz.elvys.webServer.HIBgen.DocumentContent; +import cz.elvys.webServer.HIBgen.FileType; import cz.elvys.webServer.HIBgen.FrameContent; import cz.elvys.webServer.toSpring.exception.ExecuteException; +import cz.elvys.webServer.utils.faces.BeanManager; +import elvys.server.bl.Fact; +import elvys.server.bl.file.FileManagerBL; /** * Bean connected with the DOC planning view. * @author David */ public class PlanningModalDocumentBean extends PlanningModalSpecBean { + + // messages + private static final String CANNOT_LOAD_FILE_TYPE = "Couldn't find file type of pdf(document)"; + // formular fields private DocumentContent formData; + private List<FileType> fileTypesToSelectFiles; private static Logger log; + private FileManagerBL fbl; + + { + fbl = Fact.getFileManagerBL(); + } + + public List<FileType> getFileTypesToSelectFiles() { + return fileTypesToSelectFiles; + } + + public void setFileTypesToSelectFiles(List<FileType> fileTypesToSelectFiles) { + this.fileTypesToSelectFiles = fileTypesToSelectFiles; + } static { log = Logger.getLogger(PlanningModalDocumentBean.class); } @@ -50,6 +76,32 @@ } /** + * Prepares FileType list for modal window with files + * @param aev + */ + public void prepareFileType(ActionEvent aev) { + int companyId = BeanManager.getUser().getCompanyID(); + try { + // load all company filetypes + List<FileType> types = fbl.listCompanyAllowedFileTypesMakeSession(companyId); + List<FileType> result = new ArrayList<FileType>(); + for (FileType ft: types) { + if (ft.getType().equals("document")) { + result.add(ft); + break; + } + } + fileTypesToSelectFiles = result; + } catch (Exception e) { + String message = CommonUtils.prepareErrorMessage( + CANNOT_LOAD_FILE_TYPE, "fileType", "document"); + log.error(message,e); + throw new RuntimeException(message,e); + } + } + + + /** * Fill form fields after document is selected * @param event */ Modified: trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/plug/PlanningModalVideoBean.java =================================================================== --- trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/plug/PlanningModalVideoBean.java 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/planningrel/plug/PlanningModalVideoBean.java 2010-02-18 10:25:00 UTC (rev 1772) @@ -1,16 +1,54 @@ package cz.elvys.webServer.beans.planningrel.plug; +import java.util.ArrayList; +import java.util.List; + import javax.faces.event.ActionEvent; +import org.apache.log4j.Logger; + +import cz.elvys.commons.utils.CommonUtils; import cz.elvys.webServer.HIBgen.ContentType; +import cz.elvys.webServer.HIBgen.FileType; import cz.elvys.webServer.HIBgen.FrameContent; import cz.elvys.webServer.HIBgen.VideoContent; +import cz.elvys.webServer.utils.faces.BeanManager; +import elvys.server.bl.Fact; +import elvys.server.bl.file.FileManagerBL; public class PlanningModalVideoBean extends PlanningModalSpecBean { + // messages + private static final String CANNOT_LOAD_FILE_TYPE = "Couldn't load file type of video."; + + + // static fields + private static Logger log; + // form fields private VideoContent formData; + private List<FileType> fileTypesToSelectFiles; + // other fields + private FileManagerBL fbl; + + + + { + fbl = Fact.getFileManagerBL(); + } + static { + log = Logger.getLogger(PlanningModalVideoBean.class); + } + + public List<FileType> getFileTypesToSelectFiles() { + return fileTypesToSelectFiles; + } + + public void setFileTypesToSelectFiles(List<FileType> fileTypesToSelectFiles) { + this.fileTypesToSelectFiles = fileTypesToSelectFiles; + } + @Override public void initPlanningModalSpecBean(ContentType type) { formData = new VideoContent(); @@ -40,6 +78,27 @@ } + public void prepareFileType(ActionEvent aev) { + int companyId = BeanManager.getUser().getCompanyID(); + try { + // load all company filetypes + List<FileType> types = fbl.listCompanyAllowedFileTypesMakeSession(companyId); + List<FileType> result = new ArrayList<FileType>(); + for (FileType ft: types) { + if (ft.getType().equals("video")) { + result.add(ft); + break; + } + } + fileTypesToSelectFiles = result; + } catch (Exception e) { + String message = CommonUtils.prepareErrorMessage( + CANNOT_LOAD_FILE_TYPE, "fileType", "video"); + log.error(message,e); + throw new RuntimeException(message,e); + } + } + /** * Fill form fields after document is selected * @param event @@ -47,6 +106,6 @@ public void afterVideoSelected(ActionEvent event){ // set page range // do nothing; - System.out.println("ahoj tyjo"); + System.out.println("video zvoleno"); } } 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-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties 2010-02-18 10:25:00 UTC (rev 1772) @@ -357,7 +357,10 @@ elvys.plan.modal.form.video.startat.tooltip=N\u00E1hled videa zobrazen\u00FD na kiosku bude zhotoven sejmut\u00EDm obr\u00E1zku videa ve zvolen\u00E9m \u010Dase. elvys.plan.modal.form.video.autostart=Autostart elvys.plan.modal.form.video.autostart.tooltip=Automatick\u00E9 spu\u0161t\u011Bn\u00ED videa p\u0159i na\u010Dten\u00ED panelu s videem na kiosku. +elvys.plan.modal.choosedocument.choosedocument.header=Volba dokumentu elvys.plan.modal.choosedocument.choosedocument=Volba pdf dokumentu pro pl\u00E1nov\u00E1n\u00ED +elvys.plan.modal.choosedocument.button.tooltip=Zvolit dokument +elvys.plan.modal.choosedocument.choosevideo.header=Volba dokumentu elvys.plan.modal.choosedocument.choosevideo=Volba videa pro pl\u00E1nov\u00E1n\u00ED elvys.plan.modal.choosefile.filename=N\u00E1zev elvys.plan.modal.choosefile.uploadtime=\u010Cas uploadu @@ -374,21 +377,30 @@ elvys.plan.modal.delete.no=Ne +file.list.component.id=Id +file.list.component.name=Dokument +file.list.component.length=D\u00E9lka +file.list.component.length.pages=str. +file.list.component.time=\u010Cas uploadu +file.list.component.user=U\u017Eivatel +file.list.component.note=Pozn\u00E1mka +file.list.component.defaultnote=Klikn\u011Bte pro vlo\u017Een\u00ED pozn\u00E1mky. +file.list.component.operations=Operace +file.list.component.select=Zvolit +file.list.component.downloadtooltip=St\u00E1hnout dokument +file.list.component.deletetooltip=Smazat dokument +file.list.component.uploadnew=Nahr\u00E1t nov\u00FD dokument +file.list.component.modal.delete=Maz\u00E1n\u00ED dokumentu +file.list.component.modal.deletequestion=Opravdu smazat dokument +file.list.component.modal.deletecaution= Dokument napl\u00E1nov\u00E1n do budoucnosti, ve\u0161ker\u00E9 pl\u00E1nov\u00E1n\u00ED bude zru\u0161eno +file.list.component.modal.yes=Ano +file.list.component.modal.no=Ne + + file.manager.list.title=Seznam dokument\u016F file.manager.list.body.title=Seznam dokument\u016F file.manager.list.header=Dokumenty -file.manager.list.id=Id -file.manager.list.name=Dokument -file.manager.list.length=D\u00E9lka -file.manager.list.length.pages=str. -file.manager.list.time=\u010Cas uploadu -file.manager.list.user=U\u017Eivatel -file.manager.list.note=Pozn\u00E1mka -file.manager.list.defaultnote=Klikn\u011Bte pro vlo\u017Een\u00ED pozn\u00E1mky. -file.manager.list.downloadtooltip=St\u00E1hnout vybran\u00FD dokument -file.manager.list.deletetooltip=Smazat vybran\u00FD dokument -file.manager.list.uploadnew=Nahr\u00E1t nov\u00FD dokument file.manager.upload.title=Nahr\u00E1v\u00E1n\u00ED dokument\u016F file.manager.upload.body.title=Nahr\u00E1v\u00E1n\u00ED nov\u00FDch dokument\u016F file.manager.upload.link.filelist=P\u0159ej\u00EDt na seznam dokument\u016F @@ -397,11 +409,6 @@ file.manager.upload.allowedtypes=Lze nahr\u00E1vat pouze dokumenty s p\u0159\u00EDponami file.manager.upload.warning.toobig=Nahr\u00E1van\u00FD dokument je p\u0159\u00EDli\u0161 velk\u00FD. Maxim\u00E1ln\u00ED velikost dokumentu je 200MB. file.manager.upload.warning.filetyperejected=Nen\u00ED mo\u017En\u00E9 nahr\u00E1vat dokument dan\u00E9ho typu. -file.manager.modal.delete=Maz\u00E1n\u00ED dokumentu -file.manager.modal.deletequestion=Opravdu smazat dokument -file.manager.modal.deletecaution= Dokument napl\u00E1nov\u00E1n do budoucnosti, ve\u0161ker\u00E9 pl\u00E1nov\u00E1n\u00ED bude zru\u0161eno -file.manager.modal.yes=Ano -file.manager.modal.no=Ne USR_RICH_FILE_UPLOAD_DONE_LABEL=Hotovo Modified: trunk/server/webServer2/WebContent/WEB-INF/elvystags.xml =================================================================== --- trunk/server/webServer2/WebContent/WEB-INF/elvystags.xml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/WEB-INF/elvystags.xml 2010-02-18 10:25:00 UTC (rev 1772) @@ -39,6 +39,14 @@ <source>../secured/components/user/userLabelComponent.xhtml</source> </tag> <tag> + <tag-name>dateLabel</tag-name> + <source>../secured/components/dateLabelComponent.xhtml</source> + </tag> + <tag> + <tag-name>dateTimeLabel</tag-name> + <source>../secured/components/dateTimeLabelComponent.xhtml</source> + </tag> + <tag> <tag-name>fileListComponentOld</tag-name> <source>../secured/plug/file-choose.xhtml</source> </tag> @@ -51,6 +59,10 @@ <handler-class>cz.elvys.webServer.beans.filerel.FileListInitTagHandler</handler-class> </tag> <tag> + <tag-name>fileListModalComponent</tag-name> + <source>../secured/components/file/fileListModalComponent.xhtml</source> + </tag> + <tag> <tag-name>layoutListComponent</tag-name> <source>../secured/components/layoutListComponent.xhtml</source> </tag> Modified: trunk/server/webServer2/WebContent/js/components/file/fileListComponent.js =================================================================== --- trunk/server/webServer2/WebContent/js/components/file/fileListComponent.js 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/js/components/file/fileListComponent.js 2010-02-18 10:25:00 UTC (rev 1772) @@ -0,0 +1,6 @@ +function downloadFile(company, filename) { + // formId=action.form.id; + features="height=700,width=1000,status=no,toolbar=no,menubar=no,location=no,scrollbars=no"; + // open an window for download + winId=window.open('/dispatcher/fileDownload/'+company+'/'+filename,'NOVEOKNO',features); +} \ No newline at end of file Added: trunk/server/webServer2/WebContent/js/components/file/fileListModalComponent.js =================================================================== Added: trunk/server/webServer2/WebContent/js/file/fileList.js =================================================================== Modified: trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -70,9 +70,9 @@ <!-- OPERATIONS --> <h:column> <f:facet name="header">#{lbl['catdef.list.body.operations']}</f:facet> - <div class="l-op-main"> + <div class="list-operations-main"> <!-- EDIT --> - <h:panelGroup styleClass="l-op-item"> + <h:panelGroup styleClass="list-operations-item"> <a4j:commandButton id="EditCatDef" image="/images/icons/edit.png" action="#{catDefEditBean.prepareUpdateForm}"> @@ -83,7 +83,7 @@ </rich:toolTip> </h:panelGroup> <!-- DELETE --> - <h:panelGroup styleClass="l-op-item"> + <h:panelGroup styleClass="list-operations-item"> <a4j:commandButton id="DeleteCatDef" reRender="DeleteCatDefModalContent" oncomplete="Richfaces.showModalPanel('DeleteCatDefModal',{left:300, top:300})" Added: trunk/server/webServer2/WebContent/secured/components/dateLabelComponent.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/components/dateLabelComponent.xhtml (rev 0) +++ trunk/server/webServer2/WebContent/secured/components/dateLabelComponent.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -0,0 +1,37 @@ +<!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";> + +<!-- PROTOCOL +INPUT: + | -id (REQUIRED): + | id of the component + | -value (REQUIRED): + | java.util.Date value binding + --> + + +<!-- <a4j:loadStyle src="/styles/components/user/userLabelComponent.css"/> --> +<!-- <script type="text/javascript" language="javascript" src="/webServer2/js/components/user/userLabelComponent.js"/> --> + +<!-- BAD CONTRACT --> +<h:panelGroup + rendered="#{empty id + or empty value}"> + <h:outputText value="BAD CONTRACT" styleClass="error"/> +</h:panelGroup> + +<!-- dateTime LABEL --> +<h:panelGroup id="#{id}" + rendered="#{not empty id + and not empty value}"> + <h:outputText value="#{value}" > + <f:convertDateTime pattern="dd.MM.yyyy" timeZone="#{user.defaultTimezone}" type="both" timeStyle="short"/> + </h:outputText> +</h:panelGroup> + +</ui:component> \ No newline at end of file Added: trunk/server/webServer2/WebContent/secured/components/dateTimeLabelComponent.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/components/dateTimeLabelComponent.xhtml (rev 0) +++ trunk/server/webServer2/WebContent/secured/components/dateTimeLabelComponent.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -0,0 +1,37 @@ +<!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";> + +<!-- PROTOCOL +INPUT: + | -id (REQUIRED): + | id of the component + | -value (REQUIRED): + | java.util.Date value binding + --> + + +<!-- <a4j:loadStyle src="/styles/components/user/userLabelComponent.css"/> --> +<!-- <script type="text/javascript" language="javascript" src="/webServer2/js/components/user/userLabelComponent.js"/> --> + +<!-- BAD CONTRACT --> +<h:panelGroup + rendered="#{empty id + or empty value}"> + <h:outputText value="BAD CONTRACT" styleClass="error"/> +</h:panelGroup> + +<!-- dateTime LABEL --> +<h:panelGroup id="#{id}" + rendered="#{not empty id + and not empty value}"> + <h:outputText value="#{value}" > + <f:convertDateTime pattern="dd.MM.yyyy" timeZone="#{user.defaultTimezone}" type="date" timeStyle="short"/> + </h:outputText> +</h:panelGroup> + +</ui:component> \ No newline at end of file Modified: trunk/server/webServer2/WebContent/secured/components/file/fileListComponent.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/components/file/fileListComponent.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/components/file/fileListComponent.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -8,48 +8,66 @@ xmlns:elvys="http://www.elvys.farm.particle.cz";> <!-- PROTOCOL -INPUT: +INITIALIZATION CALL + (<f:actionListener type="cz.elvys.webServer.beans.filerel.FileListComponentBean$InitComponentActionListener"/>) + +INITIALIZATION CALL PARAMS (<f:setPropertyActionListener>) + | -fileListComponentBean.allowedFileTypeObjects (REQUIRED) + | List<SelectItem> with file-types + | -fileListComponentBean.afterSelectionListener1 + | actionListener method (without hash and curl.braces) + | + +INPUT (params): | -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 - | - | + | -showUploadIcon (REQUIRED): + | enables the "upload document" functionality + | -showDownloadIcon (REQUIRED): + | enables the "download document" functionality + | -showDeleteIcon (REQUIRED): + | enables the "delete document" functionality + | -showSelectButton1 (REQUIRED): + | enables the "select document" functionality + | target1 must be then set (optinally rest of xxx1) + selecting file is available, when "target1" is specified + | -target1 + | -toRerender1 + | -jsOnClick1 + | -jsOnComplete1 + | -chListenerTooltip1 + | (listener is in call params) + --> -<!-- 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}"> + rendered="#{empty id + or empty showUploadIcon + or empty showDownloadIcon + or empty showDeleteIcon + or empty showSelectButton1 + or empty fileListComponentBean.allowedFileTypeObjects}"> <h:outputText value="BAD CONTRACT" styleClass="error"/> </h:panelGroup> +<!-- GOOD CONTRACT --> <h:panelGroup rendered="#{not empty id - and not empty fileTypesToSelect}"> + and not empty showUploadIcon + and not empty showDownloadIcon + and not empty showDeleteIcon + and not empty showSelectButton1 + and not empty fileListComponentBean.allowedFileTypeObjects}"> -<elvys:fileListInitTagHandler - fileTypesToSelect="#{fileTypesToSelect}"/> +<!-- <elvys:fileListInitTagHandler + fileTypesToSelect="#{fileTypesToSelect}" + afterSelectionListener1="#{afterSelectionListener1}"/> --> <h:form id="FileListComponent" styleClass="file-list-component"> <h:panelGroup id="fileListAreaAll" styleClass="file-list-area-all"> @@ -59,7 +77,8 @@ <f:selectItems value="#{fileListComponentBean.fileTypesToSelect}"/> <a4j:support event="onchange" - reRender="fileListAreaAll" immediate="false" + reRender="fileListAreaAll" + immediate="false" actionListener="#{fileListComponentBean.prepareDataNoRedirection}"/> </h:selectOneRadio> </h:panelGroup> @@ -67,19 +86,18 @@ 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> + <f:facet name="header">#{lbl['file.list.component.id']}</f:facet> <h:outputText value="#{file.id}" /> </h:column> --> <h:column> - <f:facet name="header">#{lbl['file.manager.list.name']}</f:facet> + <f:facet name="header">#{lbl['file.list.component.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" @@ -87,87 +105,105 @@ <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'}"/> + <f:facet name="header">#{lbl['file.list.component.length']}</f:facet> + <h:outputText value="#{file.pageCount} #{lbl['file.list.component.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}"/> + <f:facet name="header">#{lbl['file.list.component.user']}</f:facet> + <elvys:userLabel id="usrLbl" value="#{file.user}"/> </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> + <f:facet name="header">#{lbl['file.list.component.time']}</f:facet> + <elvys:dateTimeLabel id="UploadDate" value="#{file.uploaded}"/> </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> + <f:facet name="header"> + <h:outputText value="#{lbl['file.list.component.note']}" /> + </f:facet> + <rich:inplaceInput layout="block" value="#{file.description}" + id="inplaceId" required="false" + defaultLabel="#{lbl['file.list.component.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> </h:column> + + <!-- OPERATIONS --> <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> + <f:facet name="header">#{lbl['file.list.component.operations']}</f:facet> + <div class="list-operations-main"> + <!-- CHOOSE1 --> + <h:panelGroup styleClass="list-operations-item" rendered="#{showSelectButton1}"> + <a4j:commandButton id="ChooseButton1" + image="/images/icons/select.png" + reRender="#{toRerender1}" + onclick="#{jsOnClick1}" + oncomplete="#{jsOnComplete1}"> + <f:setPropertyActionListener value="#{file}" target="#{target1}" /> + <f:actionListener type="cz.elvys.webServer.beans.filerel.FileListComponentBean$AfterSelectionListener1ActionListener" /> + </a4j:commandButton> + <rich:toolTip for="ChooseButton1" + value="#{chListenerTooltip1}" + direction="top-left" styleClass="short_tooltip" /> + </h:panelGroup> + + <!-- DOWNLOAD --> + <h:panelGroup styleClass="list-operations-item" rendered="#{showDownloadIcon}"> + <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.list.component.downloadtooltip']}"/> + </rich:toolTip> + </h:panelGroup> + + <!-- DELETE --> + <h:panelGroup styleClass="list-operations-item" rendered="#{showDeleteIcon}"> + <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.list.component.deletetooltip']}"/> + </rich:toolTip> + </h:panelGroup> + </div> </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> + + <!-- UPLOAD NEW --> + <h:column rendered="#{showUploadIcon}"> + <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.list.component.uploadnew']}"/> + </rich:toolTip> + </h:panelGroup> + </f:facet> + </h:column> <f:facet name="footer"> <rich:datascroller renderIfSinglePage="false" immediate="true"/> </f:facet> @@ -181,10 +217,15 @@ <br style="clear:both;"/> </h:form> -<rich:modalPanel id="DeleteDocument" minHeight="100" minWidth="200" - height="150" width="200" zindex="2000"> +<rich:modalPanel id="DeleteDocument" + minHeight="100" + minWidth="200" + height="150" + width="200" + zindex="2000" + rendered="#{showDeleteIcon}"> <f:facet name="header"> - <h:outputText value="#{lbl['file.manager.modal.delete']}" /> + <h:outputText value="#{lbl['file.list.component.modal.delete']}" /> </f:facet> <f:facet name="controls"> <a4j:commandButton @@ -197,19 +238,19 @@ </f:facet> <center> <h:form id="DeleteForm"> - <b><h:outputText>#{lbl['file.manager.modal.deletequestion']}:</h:outputText></b> <br/> + <b><h:outputText>#{lbl['file.list.component.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/> + <b><h:outputText rendered="#{fileListComponentBean.fileHasFuturePlanning eq true}">#{lbl['file.list.component.modal.deletecaution']}</h:outputText> </b> <br/> </h:panelGroup> <h:panelGrid columns="2"> - <a4j:commandButton value="#{lbl['file.manager.modal.yes']}" + <a4j:commandButton value="#{lbl['file.list.component.modal.yes']}" onclick="Richfaces.hideModalPanel('DeleteDocument')" actionListener="#{fileListComponentBean.deleteFile}" reRender="fileList"> </a4j:commandButton> - <a4j:commandButton value="#{lbl['file.manager.modal.no']}" + <a4j:commandButton value="#{lbl['file.list.component.modal.no']}" onclick="Richfaces.hideModalPanel('DeleteDocument')" reRender="fileList"/> </h:panelGrid> @@ -217,9 +258,7 @@ </center> </rich:modalPanel> </h:panelGroup> -</rich:panel> - </ui:component> Added: trunk/server/webServer2/WebContent/secured/components/file/fileListModalComponent.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/components/file/fileListModalComponent.xhtml (rev 0) +++ trunk/server/webServer2/WebContent/secured/components/file/fileListModalComponent.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -0,0 +1,98 @@ +<!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 +INITIALIZATION CALL + (<f:actionListener type="cz.elvys.webServer.beans.filerel.FileListComponentBean$InitComponentActionListener"/>) + +INITIALIZATION CALL PARAMS (<f:setPropertyActionListener>) + | -fileListComponentBean.allowedFileTypeObjects (REQUIRED) + | List<SelectItem> with file-types + | -fileListComponentBean.afterSelectionListener1 + | actionListener method (without hash and curl.braces) + | + + +INPUT: + | -modalWinId (REQUIRED) + | id of modal window - used for invoking window-opening javascript from outside + | -modalWinContentId (REQUIRED) + | id of modal window content - used for addressing rerender + | -modalWinHeader (REQUIRED) + | header of the modal window + | -target + | bean property of layout type which selected layout will be assign to + | -toRerender + comma separed list of componentIds which will be rerender on close of component modal window + --> + +<a4j:loadStyle src="/styles/components/file/fileListModalComponent.css"/> +<script type="text/javascript" language="javascript" src="/webServer2/js/components/file/fileListModalComponent.js"/> + + +<!-- BAD CONTRACT --> +<h:panelGroup + rendered="#{empty modalWinId + or empty modalWinContentId + or empty modalWinHeader}"> + <h:outputText value="BAD CONTRACT" styleClass="error"/> +</h:panelGroup> + +<!-- GOOD CONTRACT --> +<h:panelGroup + rendered="#{not empty modalWinId + and not empty modalWinContentId + and not empty modalWinHeader}"> + + + + <!-- MODAL WINDOW --> + <rich:modalPanel id="#{modalWinId}" autosized="true" + minHeight="200" + minWidth="200" zindex="2000"> + <f:facet name="header"> + <h:outputText value="#{modalWinHeader}" /> + </f:facet> + <rich:panel + id="#{modalWinContentId}" + styleClass="modal-layout-list-win" > + <h:panelGroup style="overflow:auto; display: block;"> + + <!-- CLOSE BUTTON --> + <h:panelGroup id="layoutInfos" style="float: right; width: 50%;"> + <h:form id="listOfLayoutsForm" style="overflow: auto;"> + <!-- CLOSE BUTTON --> + <a4j:commandButton + id="elvysSettingCloseButton" + reRender="#{toRerender}, #{modalWinContentId}" + onclick="Richfaces.hideModalPanel('#{modalWinId}')" + image="/images/icons/close.gif" + style="position: absolute; right: -10px; top: -28px;" /> + </h:form> + </h:panelGroup> + + + <!-- LIST WITH LAYOUTS --> + <h:panelGroup id="ModalBody" styleClass="modal-body-with-list"> + <h:outputText value="#{lbl['elvys.plan.modal.choosedocument.choosedocument']}"/> + <elvys:fileListComponent id="FileListComponent" + showUploadIcon="false" + showDownloadIcon="true" + showDeleteIcon="false" + showSelectButton1="true" + target1="#{target}" + toRerender1="#{toRerender}" + jsOnClick1="Richfaces.hideModalPanel('#{modalWinId}')" + chListenerTooltip1="#{lbl['elvys.plan.modal.choosedocument.button.tooltip']}" + /> + </h:panelGroup> + </h:panelGroup> + </rich:panel> + </rich:modalPanel> +</h:panelGroup> +</ui:component> \ No newline at end of file Modified: trunk/server/webServer2/WebContent/secured/components/layout/layoutSelectAndCloseComp.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/components/layout/layoutSelectAndCloseComp.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/components/layout/layoutSelectAndCloseComp.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -50,10 +50,9 @@ styleClass="modal-layout-list-win" > <h:panelGroup style="overflow:auto; display: block;"> - <!-- REGION --> + <!-- CLOSE BUTTON --> <h:panelGroup id="layoutInfos" style="float: right; width: 50%;"> <h:form id="listOfLayoutsForm" style="overflow: auto;"> - <!-- CLOSE BUTTON --> <a4j:commandButton id="elvysSettingCloseButton" @@ -62,25 +61,12 @@ actionListener="#{layoutSelectAndCloseCompBean.doActionsOnClose}" image="/images/icons/close.gif" style="position: absolute; right: -10px; top: -28px;" /> - - <h:commandButton - id="elvysSettingCloseFireMaker" - onclick="document.getElementById('listOfLayoutsForm:elvysSettingCloseButton').click();" - image="/images/icons/close.gif" style="float: right;" rendered="false" /> - - <!-- - don't need anymore, session scope bean used for elvysSettingBean - <h:inputHidden id="keepElvysIdAlive" value="#{elvysSettingBean.elvysId}"/> - --> - - <br/> - </h:form> </h:panelGroup> <!-- LIST WITH LAYOUTS --> - <h:panelGroup id="LayoutListComponentArea" styleClass="layout-list-component"> + <h:panelGroup id="LayoutListComponentArea" styleClass="modal-body-with-list"> <elvys:layoutListComponent id="layoutListComponent" companyID="#{user.companyID}" notSelectLayouts="" Modified: trunk/server/webServer2/WebContent/secured/components/layoutListComponent.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/components/layoutListComponent.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/components/layoutListComponent.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -90,11 +90,9 @@ </h:column> <h:column> <f:facet name="header">#{lbl['layout.list.modified']}</f:facet> - <h:outputText value="#{layout.modified}" > - <f:convertDateTime pattern="dd.MM.yyyy HH:mm" timeZone="#{user.defaultTimezone}" type="both" timeStyle="short"/> - </h:outputText> + <elvys:dateTimeLabel id="ModifiedDate" value="#{layout.modified}"/> <br/> - <elvys:userLabel id="usrLbl" value="#{layout.userByModifiedBy}"/> + <elvys:userLabel id="UsrLbl" value="#{layout.userByModifiedBy}"/> </h:column> <h:column> <f:facet name="header">#{lbl['layout.list.revision']}</f:facet> @@ -102,9 +100,7 @@ </h:column> <h:column> <f:facet name="header">#{lbl['layout.list.created']}</f:facet> - <h:outputText value="#{layout.created}" > - <f:convertDateTime pattern="dd.MM.yyyy HH:mm" timeZone="#{user.defaultTimezone}" type="both" timeStyle="short"/> - </h:outputText> + <elvys:dateTimeLabel id="CreatedDate" value="#{layout.created}"/> </h:column> <!-- SHOW IMAGE BUTTON --> <h:column rendered="#{showSchema == true}"> @@ -125,9 +121,10 @@ <!-- EDIT AND DELETE LAYOUT --> <h:column> <f:facet name="header">#{lbl['layout.list.operations']}</f:facet> - <!-- FIRE LISTENER 1 --> - <div class="l-op-main"> - <h:panelGroup styleClass="l-op-item" + + <div class=".list-operations-main"> + <!-- FIRE LISTENER 1 --> + <h:panelGroup styleClass="list-operations-item" rendered="#{not empty chooseListener1}"> <a4j:commandButton id="ChooseButton1" image="/images/icons/select.png" @@ -145,7 +142,7 @@ direction="top-left" styleClass="short_tooltip" /> </h:panelGroup> <!-- FIRE LISTENER 2 --> - <h:panelGroup styleClass="l-op-item" + <h:panelGroup styleClass="list-operations-item" rendered="#{not empty chooseListener2}"> <a4j:commandButton id="ChooseButton2" image="/images/icons/select.png" @@ -163,7 +160,7 @@ direction="top-left" styleClass="short_tooltip" /> </h:panelGroup> <!-- EDIT --> - <h:panelGroup styleClass="l-op-item" + <h:panelGroup styleClass="list-operations-item" rendered="#{showEdit}"> <a4j:commandButton id="EditLayoutButton" image="/images/icons/edit.png" @@ -178,7 +175,7 @@ direction="top-left" styleClass="short_tooltip" /> </h:panelGroup> <!-- DELETE --> - <h:panelGroup styleClass="l-op-item" + <h:panelGroup styleClass="list-operations-item" rendered="#{showDelete == true}"> <a4j:commandButton id="DeleteLayoutButton" Modified: trunk/server/webServer2/WebContent/secured/elvysrel/planDocuments.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/elvysrel/planDocuments.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/elvysrel/planDocuments.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -115,15 +115,11 @@ <h:panelGroup styleClass="scheduler-time-part"> <h:outputLabel value="#{lbl['elvys.plan.component.start']} "/> <b> - <h:outputLabel value="#{filePlanningBean.segmentFrom}"> - <f:convertDateTime dateStyle="short" timeZone="#{user.defaultTimezone}" pattern="dd.MM.yyyy" type="date"/> - </h:outputLabel> + <elvys:dateLabel id="DateFrom" value="#{filePlanningBean.segmentFrom}"/> </b> <h:outputText value="#{lbl['elvys.plan.component.end']} "/> <b> - <h:outputLabel value="#{filePlanningBean.segmentTo}"> - <f:convertDateTime dateStyle="short" timeZone="#{user.defaultTimezone}" pattern="dd.MM.yyyy" type="date"/> - </h:outputLabel> + <elvys:dateLabel id="DateTo" value="#{filePlanningBean.segmentTo}"/> </b> <h:panelGroup styleClass="scheduler-period-area"> <h:outputLabel value="#{lbl['elvys.plan.component.shownperiod']}: " styleClass="scheduler-period-label"/> Modified: trunk/server/webServer2/WebContent/secured/filerel/fileList.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/filerel/fileList.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/filerel/fileList.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -10,31 +10,29 @@ <ui:composition template="/template/elvys-template.xhtml"> - <ui:define name="pageStyle"> - <a4j:loadStyle src="/styles/filerel/fileList.css"/> + <ui:define name="pageStyle"> + <a4j:loadStyle src="/styles/file/fileList.css"/> </ui:define> - <ui:define name="pageScript"> - <script type="text/javascript"> - // This function calls the popup window for download file. - // - function downloadFile(company, filename) { - // formId=action.form.id; - features="height=700,width=1000,status=no,toolbar=no,menubar=no,location=no,scrollbars=no"; - // open an window for download - winId=window.open('/dispatcher/fileDownload/'+company+'/'+filename,'NOVEOKNO',features); - } - </script> + <script type="text/javascript" language="javascript" src="/webServer2/js/file/fileList.js"/> </ui:define> + <ui:define name="title">#{lbl['file.manager.list.title']}</ui:define> <ui:define name="contentTitle">#{lbl['file.manager.list.body.title']}</ui:define> <ui:define name="contentSubTitle"></ui:define> <ui:define name="contentBody"> + <rich:panel> + <f:facet name="header">#{lbl['file.manager.list.header']}</f:facet> + <elvys:fileListComponent id="FileListComponent" - fileTypesToSelect="#{fileListBean.typesToDisplay}"/> + showUploadIcon="true" + showDownloadIcon="true" + showDeleteIcon="true" + showSelectButton1="false"/> + </rich:panel> </ui:define> Modified: trunk/server/webServer2/WebContent/secured/plug/planningModalDocument.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/plug/planningModalDocument.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/plug/planningModalDocument.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -52,11 +52,15 @@ <!-- pdf document choose button --> <a4j:commandButton - reRender="ChooseFileModalContent" + reRender="DocumentListModalContent" immediate="true" - actionListener="#{fileListComponentBean.prepareDocuments}" + actionListener="#{planningModalDocumentBean.prepareFileType}" oncomplete="showFilesList();" - value="#{lbl['elvys.plan.modal.form.choosedocument']}"/> + value="#{lbl['elvys.plan.modal.form.choosedocument']}"> + <f:setPropertyActionListener value="#{planningModalDocumentBean.fileTypesToSelectFiles}" target="#{fileListComponentBean.allowedFileTypeObjects}" /> + <f:setPropertyActionListener value="planningModalDocumentBean.afterDocumentSelected" target="#{fileListComponentBean.afterSelectionListener1}" /> + <f:actionListener type="cz.elvys.webServer.beans.filerel.FileListComponentBean$InitComponentActionListener"/> + </a4j:commandButton> @@ -70,7 +74,7 @@ if (document.getElementById('FormModalContentForm:StartOfPlanningError')==null && document.getElementById('FormModalContentForm:EndOfPlanningError')==null && document.getElementById('FormModalContentForm:PagesListError')==null){ - Richfaces.showModalPanel('ChooseFileModal',{left:50, top:20}); + Richfaces.showModalPanel('DocumentListModal',{left:50, top:20}); }; }; Modified: trunk/server/webServer2/WebContent/secured/plug/planningModalDocumentInnerModal.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/plug/planningModalDocumentInnerModal.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/plug/planningModalDocumentInnerModal.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -9,10 +9,20 @@ <!-- CHOOSE DOCUMENT MODAL --> <h:panelGroup id="ModalModalForDocument"> + <elvys:fileListModalComponent + modalWinId="DocumentListModal" + modalWinContentId="DocumentListModalContent" + modalWinHeader="#{lbl['elvys.plan.modal.choosedocument.choosedocument.header']}" + target="#{planningModalDocumentBean.formData.file}" + toRerender="PlanningFormContentSection"/> + + + <!-- <elvys:fileListComponent fileList="#{fileListComponentBean.fileList}" result="#{planningModalDocumentBean.formData.file}" afterSelectionListener="planningModalDocumentBean.afterDocumentSelected" tableHeader="#{lbl['elvys.plan.modal.choosedocument.choosedocument']}"/> + --> </h:panelGroup> </ui:composition> Modified: trunk/server/webServer2/WebContent/secured/plug/planningModalVideo.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/plug/planningModalVideo.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/plug/planningModalVideo.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -42,11 +42,15 @@ <!-- video choose button --> <a4j:commandButton - reRender="ChooseFileModalContent" + reRender="VideoListModalContent" immediate="true" - actionListener="#{fileListComponentBean.prepareVideos}" + actionListener="#{planningModalVideoBean.prepareFileType}" oncomplete="showFilesList();" - value="#{lbl['elvys.plan.modal.form.choosevideo']}"/> + value="#{lbl['elvys.plan.modal.form.choosevideo']}"> + <f:setPropertyActionListener value="#{planningModalVideoBean.fileTypesToSelectFiles}" target="#{fileListComponentBean.allowedFileTypeObjects}" /> + <f:setPropertyActionListener value="planningModalVideoBean.afterVideoSelected" target="#{fileListComponentBean.afterSelectionListener1}" /> + <f:actionListener type="cz.elvys.webServer.beans.filerel.FileListComponentBean$InitComponentActionListener"/> + </a4j:commandButton> @@ -57,7 +61,7 @@ <script type="text/javascript"> //<![CDATA[ function showFilesList(){ - Richfaces.showModalPanel('ChooseFileModal',{left:50, top:20}); + Richfaces.showModalPanel('VideoListModal',{left:50, top:20}); }; //]]> Modified: trunk/server/webServer2/WebContent/secured/plug/planningModalVideoInnerModal.xhtml =================================================================== --- trunk/server/webServer2/WebContent/secured/plug/planningModalVideoInnerModal.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/secured/plug/planningModalVideoInnerModal.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -9,10 +9,20 @@ <!-- CHOOSE VIDEO MODAL --> <h:panelGroup id="ModalModalForVideo"> - <elvys:fileListComponent + <elvys:fileListModalComponent + modalWinId="VideoListModal" + modalWinContentId="VideoListModalContent" + modalWinHeader="#{lbl['elvys.plan.modal.choosedocument.choosevideo.header']}" + target="#{planningModalVideoBean.formData.file}" + toRerender="PlanningFormContentSection"/> + + + + <!-- <elvys:fileListComponent fileList="#{fileListComponentBean.fileList}" - result="#{planningModalVideoBean.formData.file}" + result="#{}" afterSelectionListener="planningModalVideoBean.afterVideoSelected" tableHeader="#{lbl['elvys.plan.modal.choosedocument.choosevideo']}"/> + --> </h:panelGroup> </ui:composition> Modified: trunk/server/webServer2/WebContent/styles/components/category/categoryDefinitionListComponent.css =================================================================== --- trunk/server/webServer2/WebContent/styles/components/category/categoryDefinitionListComponent.css 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/styles/components/category/categoryDefinitionListComponent.css 2010-02-18 10:25:00 UTC (rev 1772) @@ -1,8 +0,0 @@ -.l-op-main { - text-align: right; -} - -.l-op-item { - margin-right: 5px; - -} \ No newline at end of file Modified: trunk/server/webServer2/WebContent/styles/components/file/fileListComponent.css =================================================================== --- trunk/server/webServer2/WebContent/styles/components/file/fileListComponent.css 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/styles/components/file/fileListComponent.css 2010-02-18 10:25:00 UTC (rev 1772) @@ -10,21 +10,5 @@ .file-table { - table-layout: fixed; } - -.file-upload-datetime-div { - -} - -.file-upload-date { - float: right; -} - - -.file-upload-time { - float: right; -} - - Added: trunk/server/webServer2/WebContent/styles/components/file/fileListModalComponent.css =================================================================== --- trunk/server/webServer2/WebContent/styles/components/file/fileListModalComponent.css (rev 0) +++ trunk/server/webServer2/WebContent/styles/components/file/fileListModalComponent.css 2010-02-18 10:25:00 UTC (rev 1772) @@ -0,0 +1,24 @@ +.modal-layout-list-win { + left: 1%; + width: 98%; + height: 98%; + display: block; +} + +.modal-layout-list { + + +} + +.close-button { + position: absolute; + right: -15px; + top: -30px; +} + + +.modal-body-with-list { + float: left; + width: 800px; + height: 600px; +} \ No newline at end of file Modified: trunk/server/webServer2/WebContent/styles/components/layout/layoutListComponent.css =================================================================== --- trunk/server/webServer2/WebContent/styles/components/layout/layoutListComponent.css 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/styles/components/layout/layoutListComponent.css 2010-02-18 10:25:00 UTC (rev 1772) @@ -1,8 +0,0 @@ -.l-op-main { - text-align: right; -} - -.l-op-item { - margin-right: 5px; - -} \ No newline at end of file Modified: trunk/server/webServer2/WebContent/styles/components/layout/layoutSelectAndCloseComp.css =================================================================== --- trunk/server/webServer2/WebContent/styles/components/layout/layoutSelectAndCloseComp.css 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/styles/components/layout/layoutSelectAndCloseComp.css 2010-02-18 10:25:00 UTC (rev 1772) @@ -17,7 +17,7 @@ } -.layout-list-component { +.modal-body-with-list { float: left; width: 800px; height: 600px; Modified: trunk/server/webServer2/WebContent/styles/elvys-template.css =================================================================== --- trunk/server/webServer2/WebContent/styles/elvys-template.css 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/styles/elvys-template.css 2010-02-18 10:25:00 UTC (rev 1772) @@ -99,4 +99,15 @@ } .dr-table-subheadercell { -} \ No newline at end of file +} + +/* for tables (operations) */ +.list-operations-main { + text-align: right; +} +.list-operations-item { + margin-right: 5px; + +} + + Copied: trunk/server/webServer2/WebContent/styles/file/fileList.css (from rev 1756, trunk/server/webServer2/WebContent/styles/filerel/fileList.css) =================================================================== --- trunk/server/webServer2/WebContent/styles/file/fileList.css (rev 0) +++ trunk/server/webServer2/WebContent/styles/file/fileList.css 2010-02-18 10:25:00 UTC (rev 1772) @@ -0,0 +1,5 @@ +.fileList-table-column-class { + overflow: hidden; +} + + Deleted: trunk/server/webServer2/WebContent/styles/filerel/fileList.css =================================================================== --- trunk/server/webServer2/WebContent/styles/filerel/fileList.css 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/styles/filerel/fileList.css 2010-02-18 10:25:00 UTC (rev 1772) @@ -1,5 +0,0 @@ -.fileList-table-column-class { - overflow: hidden; -} - - Modified: trunk/server/webServer2/WebContent/template/elvys-template.xhtml =================================================================== --- trunk/server/webServer2/WebContent/template/elvys-template.xhtml 2010-02-18 10:00:39 UTC (rev 1771) +++ trunk/server/webServer2/WebContent/template/elvys-template.xhtml 2010-02-18 10:25:00 UTC (rev 1772) @@ -99,8 +99,12 @@ rendered="#{user.compStr ne 'superadmin'}"> <rich:menuItem id="DocumentMenuList" value="#{lbl['template.menu.file.list']}" - action="#{fileListBean.prepareListRedirection}" - submitMode="server"/> + actionListener="#{fileListBean.prepareListNoRedirection}" + action="#{fileListBean.justRedirection}" + submitMode="server"> + <f:setPropertyActionListener value="#{fileListBean.typesToDisplay}" target="#{fileListComponentBean.allowedFileTypeObjects}" /> + <f:actionListener type="cz.elvys.webServer.beans.filerel.FileListComponentBean$InitComponentActionListener"/> + </rich:menuItem> <rich:menuItem id="DocumentMenuUpload" value="#{lbl['template.menu.file.upload']}" action="#{fileUploadBean.prepareUploadComponent}"