[elvystrac] r1899 - assigning of category upgraded..

  • From: elvys@xxxxxxxxxxxxxxxxxxxxxx
  • To: elvystrac@xxxxxxxxxxxxx
  • Date: Fri, 26 Feb 2010 12:06:02 +0100

Author: DavidK
Date: 2010-02-26 12:06:01 +0100 (Fri, 26 Feb 2010)
New Revision: 1899

Added:
   trunk/server/webServer2/WebContent/js/category/
   trunk/server/webServer2/WebContent/js/category/catDefAssignStep1.js
   trunk/server/webServer2/WebContent/js/category/catDefAssignStep2.js
   trunk/server/webServer2/WebContent/styles/category/
   trunk/server/webServer2/WebContent/styles/category/catDefAssignStep1.css
   trunk/server/webServer2/WebContent/styles/category/catDefAssignStep2.css
Modified:
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep1Bean.java
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep2Bean.java
   
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefListComponentBean.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/WebContent/applets/bin/LayoutDesigner.jar
   trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep1.xhtml
   trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep2.xhtml
   trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml
   
trunk/server/webServer2/WebContent/secured/components/category/catDefListComponent.xhtml
   trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml
Log:
assigning of category upgraded..

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep1Bean.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep1Bean.java
     2010-02-26 09:41:41 UTC (rev 1898)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep1Bean.java
     2010-02-26 11:06:01 UTC (rev 1899)
@@ -37,7 +37,6 @@
        
        // form-related fields
        private List<Category> usedCats = null;
-       private List<CategoryDefinition> availableCats = null;
        private Category catToDelete = null;
        private boolean highDeleteWarning = true;
        private Integer deleteFormStep = 1;
@@ -56,12 +55,6 @@
        public void setUsedCats(List<Category> usedCats) {
                this.usedCats = usedCats;
        }
-       public List<CategoryDefinition> getAvailableCats() {
-               return availableCats;
-       }
-       public void setAvailableCats(List<CategoryDefinition> availableCats) {
-               this.availableCats = availableCats;
-       }
        public Elvys getUpdatedElvys() {
                return updatedElvys;
        }
@@ -146,28 +139,26 @@
                                defmap.put(def.getId(), def);
                        }
 
-                       // get cats
+                       // get used cats
                        usedCats = 
cbl.listCategoriesForGroupMakeSession(groupId);
                        // add loaded catdef to cats
                        for(Category cat: usedCats) {
                                
cat.setCategoryDefinition(defmap.get(cat.getCategoryDefinition().getId()));
                        }
                        
-                       
-                       // load all company related category definitions
-                       List<CategoryDefinition> allCats = 
cbl.listCatDefinitionsOfCompanyMakeSession(companyId);
-                       
-                       // get list of available category definitions
-                       for(Category cat: usedCats) {
-                               allCats.remove(cat.getCategoryDefinition());
-                       }
-                       availableCats = allCats;
                } catch (Exception e) {
                        String message = CommonUtils.prepareErrorMessage(
                                        CANNOT_PREPARE,e);
                        log.error(message,e);
                        throw new RuntimeException(message,e);
                }
+               // prepare inner-components (catDefListComponent.xhtml)
+               CatDefListComponentBean bean = 
BeanManager.getCatDefListComponentBean();
+               bean.setMode(CatDefListComponentBean.MODE_SELECT_UNUSED);
+               bean.setInputParamGroupId(groupId);
+               
bean.setAfterSelectionAction1("catDefAssignStep2Bean.prepareOnCreate");
+               bean.prepareDependingOnMode();
+               
                return "assignCategoryStep1";
        }
 
@@ -206,7 +197,6 @@
        private void invalidate(){
                updatedElvys = null;
                usedCats = null;
-               availableCats = null;
        }
 
        

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep2Bean.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep2Bean.java
     2010-02-26 09:41:41 UTC (rev 1898)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefAssignStep2Bean.java
     2010-02-26 11:06:01 UTC (rev 1899)
@@ -112,13 +112,44 @@
                ebl = Fact.getElvysBL();
        }
 
+       
+       /**
+        * Prepares 2nd step of the UC when creating (assigning category)
+        * @return navigation string
+        */
+       public String prepareOnCreate() {
+               // init
+               updating = false;
+               this.updatedElvys = 
BeanManager.getCatDefAssignStep1Bean().getUpdatedElvys();
+               // call prepare
+               String ret = prepare(); 
+               return ret;
+       }
 
+       /**
+        * Prepares 2nd step of the UC when updating (updating assignation of 
category)
+        * @return navigation string
+        */
+       public String prepareOnUpdate() {
+               // init 
+               updating = true;
+               this.updatedElvys = 
BeanManager.getCatDefAssignStep1Bean().getUpdatedElvys();
+               // call prepare
+               String ret = prepare();
+               return ret;
+       }
+       
 
        /**
         * Prepares 2nd step of the UC
         * @return navigation string
         */
-       public String prepare() {
+       private String prepare() {
+               // check contract
+               if (updatedElvys == null) {
+                       throw new RuntimeException("updatedElvys is null");
+               }
+               
                existingCatPlannings = new 
ArrayList<ExistingCatPlanningRecord>();
                int catDefId = updating 
                        ? 
selectedCategoryWhenModifying.getCategoryDefinition().getId() 

Modified: 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefListComponentBean.java
===================================================================
--- 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefListComponentBean.java
   2010-02-26 09:41:41 UTC (rev 1898)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/beans/categrel/CatDefListComponentBean.java
   2010-02-26 11:06:01 UTC (rev 1899)
@@ -26,8 +26,10 @@
        private static final String CANNOT_PREPARE_LIST = "Error occured when 
preparing list of category defintinions";
        private static final String CANNOT_REMOVE_CATEGORY = "Couldn't remove 
the category definition..";
        private static final String CANNOT_PREPARE_DELETE_CAT = "Couldn't 
prepare deletion of the category..";
-
+       private static final String CANNOT_CALL = "Cannot call registered 
listener";
+       private static final String CANNOT_CALL_ACTION = "Cannot call 
registered action";
        
+       
        // const
        public static final String MODE_SELECT_ALL = "mode_select_all";
        public static final String MODE_SELECT_UNUSED = "mode_select_unused";
@@ -38,8 +40,12 @@
        // fields
                // value for filtering on the table
        private String filterValue = null; 
-               // id of elvys - when uses method="mode_select_unused" - this 
param must be set
-       private Integer elvysId = null;
+               // id of group - when uses method="mode_select_unused" - this 
param must be set
+       private Integer inputParamGroupId = null;
+               // after selection listener - registered
+       private String afterSelectionListener1 = null;
+               // after selection action method -registered
+       private String afterSelectionAction1 = null;
                // mode of work: mode_select_all / mode_select_unused
        private String mode = null;
                // list of categories to display
@@ -93,12 +99,24 @@
        public void setFilterValue(String filterValue) {
                this.filterValue = filterValue;
        }
-       public Integer getElvysId() {
-               return elvysId;
+       public String getAfterSelectionListener1() {
+               return afterSelectionListener1;
        }
-       public void setElvysId(Integer elvysId) {
-               this.elvysId = elvysId;
+       public void setAfterSelectionListener1(String afterSelectionListener1) {
+               this.afterSelectionListener1 = afterSelectionListener1;
        }
+       public String getAfterSelectionAction1() {
+               return afterSelectionAction1;
+       }
+       public void setAfterSelectionAction1(String afterSelectionAction1) {
+               this.afterSelectionAction1 = afterSelectionAction1;
+       }
+       public Integer getInputParamGroupId() {
+               return inputParamGroupId;
+       }
+       public void setInputParamGroupId(Integer inputParamGroupId) {
+               this.inputParamGroupId = inputParamGroupId;
+       }
        public String getMode() {
                return mode;
        }
@@ -143,11 +161,11 @@
                        lcd = prepareListOfAllCatDef();
                } else if (mode.equals(MODE_SELECT_UNUSED)) {
                        // select only unused categories
-                       // need to have layoutId set
-                       if (elvysId == null) {
+                       // need to have inputParamGroupId set
+                       if (inputParamGroupId == null) {
                                throw new RuntimeException("elvysId == null");
                        }
-                       lcd = prepareListOfUnusedCatDef(elvysId);
+                       lcd = prepareListOfUnusedCatDef(inputParamGroupId);
                } else {
                        throw new NullPointerException("not supported mode of 
CatDefListComponent: "+mode);
                }
@@ -229,17 +247,17 @@
        
        
        /**
-        * Method prepares list of unused Category Definition for the given 
Elvys
+        * Method prepares list of unused Category Definition for the given 
ElvysGroup
         */
-       private List<CategoryDefinition> prepareListOfUnusedCatDef(Integer 
elvysId) {
+       private List<CategoryDefinition> prepareListOfUnusedCatDef(Integer 
groupId) {
                List<CategoryDefinition> catdefs = null;
                
                try {
-                       ElvysGroup eg = 
elvysBL.getElvysByIdMakeSession(elvysId).getElvysGroup();
+                       ElvysGroup eg = 
elvysBL.getGroupByIdMakeSession(groupId);
                        catdefs = 
catBL.listCatDefinitionsUnusedForGroupMakeSession(eg.getId());
                } catch (Exception e) {
                        String message = CommonUtils.prepareErrorMessage(
-                                       CANNOT_PREPARE_LIST, "elvysId", 
elvysId);
+                                       CANNOT_PREPARE_LIST, "groupId", 
groupId);
                        log.error(message,e);
                        throw new RuntimeException(e);
                }
@@ -327,8 +345,48 @@
                return false;
        }
        
+       /**
+        * fires registered 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);
+                       }
+               } else {
+                       // no listener registered, it's ok, do nothing
+               }
+       }
        
        
+       public String afterSelectionAction1Action() {
+               // calling registered Action
+               String ret= null;
+               try {
+                       if (afterSelectionAction1 != null && 
!afterSelectionAction1.trim().equals("")) {
+                               // call registered ActionEvent
+                               ret = 
BeanManager.fireAction(afterSelectionAction1);
+                       } else {
+                       // no action registered
+                               throw new RuntimeException("no 
afterSelectionAction1 registered, don't know where to go..");
+                       }
+               } catch (Exception e) {
+                       String message = 
CommonUtils.prepareErrorMessage(CANNOT_CALL_ACTION
+                               ,"action", afterSelectionAction1);
+                       log.error(message, e);
+                       throw new RuntimeException(message, e);
+               }
+               return ret;
+       }
+       
        /**
         * Holder class for the list of category
         * @author David
@@ -404,5 +462,18 @@
        
        
        
+       /**
+        * ActionListener for calling doAction1
+        * @author David
+        *
+        */
+       public static class AfterSelectionListener1ActionListener implements 
ActionListener {
+               public void processAction(ActionEvent event)
+                               throws AbortProcessingException {
+                       CatDefListComponentBean bean = 
BeanManager.getCatDefListComponentBean();
+                       bean.callListener1(null);
+               }
+       }
        
+       
 }

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-26 09:41:41 UTC (rev 1898)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/messages/labels_cs.properties
 2010-02-26 11:06:01 UTC (rev 1899)
@@ -220,8 +220,8 @@
 catdef.assign.step1.title=P\u0159i\u0159azen\u00ED kategorie 
pl\u00E1nov\u00E1n\u00ED pro kiosek
 catdef.assign.step1.elvys=Zpracov\u00E1van\u00FD kiosek
 catdef.assign.step1.listofavailable=Nep\u0159i\u0159azen\u00E9 kategorie
-catdef.assign.step1.listofavailable.add.tooltip=P\u0159id\u00E1 pro kiosek 
mo\u017Enost pl\u00E1nov\u00E1n\u00ED dat na danou kategorii
-catdef.assign.step1.listofused.edit.tooltip=Umo\u017En\u00ED upravit 
nastaven\u00ED dan\u00E9 kategorie na kiosku
+catdef.assign.step1.listofavailable.add.tooltip=P\u0159i\u0159adit kategorii 
kiosku.
+catdef.assign.step1.listofused.edit.tooltip=Upravit parametry 
p\u0159i\u0159azen\u00ED kategorie kiosku.
 catdef.assign.step1.listofused.delete.tooltip=Odebrat kategorii
 catdef.assign.step1.listofused.delete.modal.label=Odebr\u00E1n\u00ED kategorie
 catdef.assign.step1.listofused.delete.modal.deletequestion=Opravdu chcete 
odebrat kategorii

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-26 09:41:41 UTC (rev 1898)
+++ 
trunk/server/webServer2/JavaSource/cz/elvys/webServer/utils/faces/BeanManager.java
  2010-02-26 11:06:01 UTC (rev 1899)
@@ -352,10 +352,32 @@
        }
        
        
+       /**
+        * Launches action on some bean.
+        * @param methodIdentification specification of actionListener name- 
e.g. "beanName.action".
+        *      Cannot contain "#{}"
+        */
+       public static String fireAction(String methodIdentification) throws 
Exception {
+               FacesContext fc = FacesContext.getCurrentInstance();
+               Application app = fc.getApplication();
+               try {
+                       // find method
+                       MethodExpression me = 
app.getExpressionFactory().createMethodExpression(fc.getELContext(), 
"#{"+methodIdentification+"}", String.class, new Class[]{});
+                       // run method
+                       Object ret = me.invoke(fc.getELContext(), new 
Object[]{});
+                       String str = (String) ret;
+                       return str;
+               } catch (Exception e) {
+                       String message = 
CommonUtils.prepareErrorMessage(COULDNT_INVOKE_METHOD
+                                       ,"methodIdentification", 
methodIdentification);
+                       throw new Exception(message,e);
+               }
+       }
        
        
        
        
+       
        /*
         * 
         * 

Modified: trunk/server/webServer2/WebContent/applets/bin/LayoutDesigner.jar
===================================================================
(Binary files differ)

Added: trunk/server/webServer2/WebContent/js/category/catDefAssignStep1.js
===================================================================
Added: trunk/server/webServer2/WebContent/js/category/catDefAssignStep2.js
===================================================================
Modified: 
trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep1.xhtml
===================================================================
--- trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep1.xhtml 
2010-02-26 09:41:41 UTC (rev 1898)
+++ trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep1.xhtml 
2010-02-26 11:06:01 UTC (rev 1899)
@@ -18,6 +18,17 @@
 </ui:define>
 <ui:define name="contentSubTitle"></ui:define>
 
+
+<ui:define name="pageStyle">
+       <a4j:loadStyle src="/styles/category/catDefAssignStep1.css"/>
+</ui:define>
+<ui:define name="pageScript">
+       <script type="text/javascript" language="javascript" 
src="/webServer2/js/category/catDefAssignStep1.js"/>
+</ui:define>
+
+
+
+
 <ui:define name="contentBody">
        
        <h:form id="CatDefAssingStep1Form">
@@ -43,128 +54,118 @@
                                <br/>
                        </h:panelGroup>
                        
-                       
-                       <h:panelGrid columns="2" columnClasses="top 70per, top 
30per" width="100%">
-               <rich:orderingList
-                       id="CatOrderList"
-                       value="#{catDefAssignStep1Bean.usedCats}"
-                       var="cat" 
-                       listHeight="200" 
-                       listWidth="680"
-                       converter="categoryOrderConverter">
-                        <f:facet name="caption">
-                       <h:outputText 
value="#{lbl['catdef.assign.step1.list.caption']}" />
-                       </f:facet>
-                       <rich:column  width="80">
-                           <f:facet name="header">
-                               <h:outputText 
value="#{lbl['catdef.assign.step1.list.order']}" />
-                           </f:facet> 
-                       <h:outputText value="#{cat.catOrder}"></h:outputText>
-                   </rich:column>
-                   <rich:column  width="120">
-                           <f:facet name="header">
-                               <h:outputText 
value="#{lbl['catdef.assign.step1.list.name']}" />
-                           </f:facet> 
-                       <h:outputText 
value="#{cat.categoryDefinition.name}"></h:outputText>
-                   </rich:column>
-                   <rich:column  width="120">
-                           <f:facet name="header">
-                               <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.name']}" />
-                           </f:facet> 
-                       <h:outputText 
value="#{cat.categoryDefinition.layout.name}"></h:outputText>
-                   </rich:column>
-                   <rich:column width="120"> 
-                       <f:facet name="header">
-                           <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.pos']}" />
-                       </f:facet>
-                       <h:outputText 
value="#{cat.categoryDefinition.layout.sectCount}"></h:outputText><br/>
-                   </rich:column>
-                   
-                   <rich:column width="80"> 
-                       <f:facet name="header">
-                           <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.shared']}" />
-                       </f:facet>
-                       <h:outputText 
-                               id="CatIsShared" 
-                               rendered="true"
-                               
value="#{lbl['catdef.assign.step1.list.layout.shared.yes']}" />
-                       <rich:toolTip for="CatIsShared">
-                                               <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.shared.yes.tooltip']}"/>
-                                       </rich:toolTip>
-                       <h:outputText id="CatIsNotShared"
-                               rendered="true"
-                               
value="#{lbl['catdef.assign.step1.list.layout.shared.no']}" />
-                       <rich:toolTip for="CatIsNotShared">
-                                               <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.shared.no.tooltip']}"/>
-                                       </rich:toolTip>
-                   </rich:column>
-                   
-                   <rich:column width="80"> 
-                        <f:facet name="header">
-                           <h:outputText 
value="#{lbl['catdef.assign.step1.list.edit']}" />
-                       </f:facet>
-                           <h:commandButton id="ChangeAssignation"
-                                               image="/images/icons/edit.png"
-                                               immediate="true"
-                                               
action="#{catDefAssignStep2Bean.prepare}">
-                                               <f:setPropertyActionListener 
value="#{cat}" target="#{catDefAssignStep2Bean.selectedCategoryWhenModifying}" 
/>
-                                               <f:setPropertyActionListener 
value="#{catDefAssignStep1Bean.updatedElvys}" 
target="#{catDefAssignStep2Bean.updatedElvys}"/>
-                                               <f:setPropertyActionListener 
value="#{true}" target="#{catDefAssignStep2Bean.updating}"/>
-                                       </h:commandButton>
-                           <rich:toolTip for="ChangeAssignation">
-                                               <h:outputText 
value="#{lbl['catdef.assign.step1.listofused.edit.tooltip']}"/>
-                                       </rich:toolTip>
-                               </rich:column>
-                               
-                               <rich:column width="80"> 
-                                        <f:facet name="header">
-                           <h:outputText 
value="#{lbl['catdef.assign.step1.list.delete']}" />
-                       </f:facet>
-                           <a4j:commandButton id="RemoveAssignation"
-                                               image="/images/icons/delete.gif"
-                                               
onclick="Richfaces.showModalPanel('DeleteAssignationModal',{left:300, top:300})"
-                                               
reRender="DeleteAssignationForm">
-                                               <f:setPropertyActionListener 
value="#{cat}" target="#{catDefAssignStep1Bean.catToDelete}" />
-                                               <f:actionListener 
type="cz.elvys.webServer.beans.categrel.CatDefAssignStep1Bean$PrepareUnassignCategoryActionListener"/>
-                                       </a4j:commandButton>
+                       <h:panelGroup styleClass="table-1-ordering">
+                       <rich:orderingList
+                               id="CatOrderList"
+                               value="#{catDefAssignStep1Bean.usedCats}"
+                               var="cat" 
+                               listHeight="200" 
+                               listWidth="680"
+                               converter="categoryOrderConverter">
+                                <f:facet name="caption">
+                               <h:outputText 
value="#{lbl['catdef.assign.step1.list.caption']}" />
+                               </f:facet>
+                               <rich:column  width="80">
+                                   <f:facet name="header">
+                                       <h:outputText 
value="#{lbl['catdef.assign.step1.list.order']}" />
+                                   </f:facet> 
+                               <h:outputText 
value="#{cat.catOrder}"></h:outputText>
+                           </rich:column>
+                           <rich:column  width="120">
+                                   <f:facet name="header">
+                                       <h:outputText 
value="#{lbl['catdef.assign.step1.list.name']}" />
+                                   </f:facet> 
+                               <h:outputText 
value="#{cat.categoryDefinition.name}"></h:outputText>
+                           </rich:column>
+                           <rich:column  width="120">
+                                   <f:facet name="header">
+                                       <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.name']}" />
+                                   </f:facet> 
+                               <h:outputText 
value="#{cat.categoryDefinition.layout.name}"></h:outputText>
+                           </rich:column>
+                           <rich:column width="120"> 
+                               <f:facet name="header">
+                                   <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.pos']}" />
+                               </f:facet>
+                               <h:outputText 
value="#{cat.categoryDefinition.layout.sectCount}"></h:outputText><br/>
+                           </rich:column>
                            
-                           <rich:toolTip for="RemoveAssignation">
-                                               <h:outputText 
value="#{lbl['catdef.assign.step1.listofused.delete.tooltip']}"/>
-                                       </rich:toolTip>
-                               </rich:column>
+                           <rich:column width="80"> 
+                               <f:facet name="header">
+                                   <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.shared']}" />
+                               </f:facet>
+                               <h:outputText 
+                                       id="CatIsShared" 
+                                       rendered="true"
+                                       
value="#{lbl['catdef.assign.step1.list.layout.shared.yes']}" />
+                               <rich:toolTip for="CatIsShared">
+                                                       <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.shared.yes.tooltip']}"/>
+                                               </rich:toolTip>
+                               <h:outputText id="CatIsNotShared"
+                                       rendered="true"
+                                       
value="#{lbl['catdef.assign.step1.list.layout.shared.no']}" />
+                               <rich:toolTip for="CatIsNotShared">
+                                                       <h:outputText 
value="#{lbl['catdef.assign.step1.list.layout.shared.no.tooltip']}"/>
+                                               </rich:toolTip>
+                           </rich:column>
+                           
+                           <rich:column width="80"> 
+                                <f:facet name="header">
+                                   <h:outputText 
value="#{lbl['catdef.assign.step1.list.edit']}" />
+                               </f:facet>
+                                   <h:commandButton id="ChangeAssignation"
+                                                       
image="/images/icons/edit.png"
+                                                       immediate="true"
+                                                       
action="#{catDefAssignStep2Bean.prepareOnUpdate}">
+                                                       
<f:setPropertyActionListener value="#{cat}" 
target="#{catDefAssignStep2Bean.selectedCategoryWhenModifying}" />
+                                               </h:commandButton>
+                                   <rich:toolTip for="ChangeAssignation">
+                                                       <h:outputText 
value="#{lbl['catdef.assign.step1.listofused.edit.tooltip']}"/>
+                                               </rich:toolTip>
+                                       </rich:column>
+                                       
+                                       <rich:column width="80"> 
+                                                <f:facet name="header">
+                                   <h:outputText 
value="#{lbl['catdef.assign.step1.list.delete']}" />
+                               </f:facet>
+                                   <a4j:commandButton id="RemoveAssignation"
+                                                       
image="/images/icons/delete.gif"
+                                                       
onclick="Richfaces.showModalPanel('DeleteAssignationModal',{left:300, top:300})"
+                                                       
reRender="DeleteAssignationForm">
+                                                       
<f:setPropertyActionListener value="#{cat}" 
target="#{catDefAssignStep1Bean.catToDelete}" />
+                                                       <f:actionListener 
type="cz.elvys.webServer.beans.categrel.CatDefAssignStep1Bean$PrepareUnassignCategoryActionListener"/>
+                                               </a4j:commandButton>
+                                   
+                                   <rich:toolTip for="RemoveAssignation">
+                                                       <h:outputText 
value="#{lbl['catdef.assign.step1.listofused.delete.tooltip']}"/>
+                                               </rich:toolTip>
+                                       </rich:column>
+                                       
+                            <a4j:support event="onorderchanged"
+                               ignoreDupResponses="true" 
+                               requestDelay="500" 
+                               actionListener="#{catDefAssignStep1Bean.order}"
+                               reRender="CatOrderList"/>
+                       </rich:orderingList>
+               </h:panelGroup>
                                
-                    <a4j:support event="onorderchanged"
-                       ignoreDupResponses="true" 
-                       requestDelay="500" 
-                       actionListener="#{catDefAssignStep1Bean.order}"
-                       reRender="CatOrderList"/>
-               </rich:orderingList>
-               </h:panelGrid>
-                               
                        
-                       <div style="overflow:auto; width: 60%;">
+                       <h:panelGroup styleClass="table-2-notused">
                                <!-- LIST OF AVAILABLE CATEGORIES (TO ADD) -->
-                               <h:panelGrid id="AvailableCatListPanel" 
style="float:left">
-                                       <h:outputText 
value="#{lbl['catdef.assign.step1.listofavailable']}"/>
-                                       <rich:dataList
-                                               id="AvailableCatList"
-                                               var="catDef" 
value="#{catDefAssignStep1Bean.availableCats}" rows="0">
-                                               <h:commandLink 
-                                               id="AddCategoryLink"
-                                       value="#{catDef.name}" 
-                                                       immediate="true"
-                                                       
action="#{catDefAssignStep2Bean.prepare}">
-                                                       
<f:setPropertyActionListener value="#{catDef}" 
target="#{catDefAssignStep2Bean.selectedCategory}" />
-                                                       
<f:setPropertyActionListener value="#{catDefAssignStep1Bean.updatedElvys}" 
target="#{catDefAssignStep2Bean.updatedElvys}"/>
-                                                       
<f:setPropertyActionListener value="#{false}" 
target="#{catDefAssignStep2Bean.updating}"/>
-                                               </h:commandLink>
-                                   
-                                   <rich:toolTip id="AddCategoryLinkTooltip" 
for="AddCategoryLink">
-                                                       <h:outputText 
value="#{lbl['catdef.assign.step1.listofavailable.add.tooltip']}"/>
-                                               </rich:toolTip>
-                                       </rich:dataList>
-                               </h:panelGrid>
-                       </div>
+                               <h:panelGroup id="AvailableCatListPanel" 
style="float:left">
+                                       <elvys:catDefListComponent
+                                               id="NOTUSEDID"
+                                               showCreateIcon="false"
+                                               showEditIcon="false"
+                                               showDeleteIcon="false"
+                                               
showSelectButton1ActionListener="false" 
+                                               showSelectButton1Action="true"
+                                               
caption="#{lbl['catdef.assign.step1.listofavailable']}"
+                                               
target1="#{catDefAssignStep2Bean.selectedCategory}"
+                                               
chListenerTooltip1="#{lbl['catdef.assign.step1.listofavailable.add.tooltip']}"/>
+                               </h:panelGroup>
+                       </h:panelGroup>
+                       
                </rich:panel>
        </h:form>
        

Modified: 
trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep2.xhtml
===================================================================
--- trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep2.xhtml 
2010-02-26 09:41:41 UTC (rev 1898)
+++ trunk/server/webServer2/WebContent/secured/categrel/catDefAssignStep2.xhtml 
2010-02-26 11:06:01 UTC (rev 1899)
@@ -18,6 +18,14 @@
 </ui:define>
 <ui:define name="contentSubTitle"></ui:define>
 
+<ui:define name="pageStyle">
+       <a4j:loadStyle src="/styles/category/catDefAssignStep2.css"/>
+</ui:define>
+<ui:define name="pageScript">
+       <script type="text/javascript" language="javascript" 
src="/webServer2/js/category/catDefAssignStep2.js"/>
+</ui:define>
+
+
 <ui:define name="contentBody">
        
        

Modified: 
trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml
===================================================================
--- trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml     
2010-02-26 09:41:41 UTC (rev 1898)
+++ trunk/server/webServer2/WebContent/secured/categrel/listOfCatDefs.xhtml     
2010-02-26 11:06:01 UTC (rev 1899)
@@ -35,7 +35,8 @@
                        showCreateIcon="true"
                        showEditIcon="true"
                        showDeleteIcon="true"
-                       showSelectButton1="false" />
+                       showSelectButton1ActionListener="false"
+                       showSelectButton1Action="false" />
                        
                        
        </rich:panel>

Modified: 
trunk/server/webServer2/WebContent/secured/components/category/catDefListComponent.xhtml
===================================================================
--- 
trunk/server/webServer2/WebContent/secured/components/category/catDefListComponent.xhtml
    2010-02-26 09:41:41 UTC (rev 1898)
+++ 
trunk/server/webServer2/WebContent/secured/components/category/catDefListComponent.xhtml
    2010-02-26 11:06:01 UTC (rev 1899)
@@ -8,18 +8,24 @@
        xmlns:elvys="http://www.elvys.farm.particle.cz";>
        
 <!-- PROTOCOL
-INITIALIZATION CALL A)
- |     (<f:actionListener 
type="cz.elvys.webServer.beans.categrel.CatDefListComponentBean$PrepareListCatDefsByMode"/>)
+INITIALIZATION CALL A)  - selecting all categories
+ |     CALL:   - from xhtml: <f:actionListener 
type="cz.elvys.webServer.beans.categrel.CatDefListComponentBean$PrepareListCatDefsByMode"/>
+ |                     - from java:  
catDefListComponentBean.prepareDependingOnMode
  |     PARAMS (<f:setPropertyActionListener>)    
  |  -catDefListComponentBean.mode = "mode_select_all" 
 
-INITIALIZATION CALL B)
- |     (<f:actionListener 
type="cz.elvys.webServer.beans.categrel.CatDefListComponentBean$PrepareListCatDefsByMode"/>)
+INITIALIZATION CALL B) - selecting only unused categories
+ |     CALL:   - from xhtml: <f:actionListener 
type="cz.elvys.webServer.beans.categrel.CatDefListComponentBean$PrepareListCatDefsByMode"/>)
+ |                     - from java:  
catDefListComponentBean.prepareDependingOnMode
  |     PARAMS (<f:setPropertyActionListener>)    
  |  -catDefListComponentBean.mode = "mode_select_unused"
- |     -catDefListComponentBean.elvysId = <id of elvys>
+ |     -catDefListComponentBean.inputParamGroupId = <id of ElvysGroup>
 
-
+ADDITIONAL CALL PARAMS:
+ |  -catDefListComponentBean.afterSelectionListener1  (OPTIONAL when using 
+ |             actionListener method (without hash and curl.braces)
+ |  -catDefListComponentBean.afterSelectionAction1    (REQUIRED when using 
+ |             action method (without hash and curl.braces)
  
 INPUT (params):
  |     -id (REQUIRED):
@@ -30,17 +36,28 @@
  |             enables the "edit" functionality
  |     -showDeleteIcon (REQUIRED): 
  |             enables the "delete" functionality
- |  -showSelectButton1 (REQUIRED):
- |             enables the "select catdef" functionality
- |             target1 must be then set (optinally rest of xxx1)
+ |  -showSelectButton1ActionListener (REQUIRED):
+ |             enables the "select catdef" functionality in ActionListener 
mode (when using ajax, staying on page)
+ |             target1 must be then set (optionally rest of xxx1)
+ |  -showSelectButton1Action (REQUIRED):
+ |             enables the "select catdef" functionality in Action mode (when 
moving elsewhere by action navigation)
+ |             target1 must be then set (optionally rest of xxx1)
+ |     -caption (optional)
+ |     caption of the table
 
  selecting file is available, when "target1" is specified
+ | (   
+ |             look upwards, there is info about :
+ |             -afterSelectionListener1 (applicable when 
showSelectButton1ActionListener="true" (optional then)) 
+ |     -afterSelectionAction1 (applicable when 
showSelectButton1ActionListener="true" (REQUIRED then))
+ | )
  |     -target1 (required if showSelectButton1 is true)
- |     -toRerender1
- |     -jsOnClick1
- |     -jsOnComplete1
- |     -chListenerTooltip1
+ |     -toRerender1 (optional but often useful)
+ |     -jsOnClick1    (optional useful when need to close modal screen on 
click)
+ |     -jsOnComplete1  (optional -||-)
+ |     -chListenerTooltip1  (optional, but recommended)
  |   (listener is in call params)
+ |      )
 
  -->
 
@@ -54,7 +71,8 @@
                or empty showCreateIcon
                or empty showEditIcon
                or empty showDeleteIcon
-               or empty showSelectButton1}">
+               or empty showSelectButton1ActionListener
+               or empty showSelectButton1Action}">
        <h:outputText value="BAD CONTRACT" styleClass="error"/>
 </h:panelGroup>
 
@@ -64,7 +82,8 @@
                and not empty showCreateIcon
                and not empty showEditIcon
                and not empty showDeleteIcon
-               and not empty showSelectButton1}">      
+               and not empty showSelectButton1ActionListener
+               and not empty showSelectButton1Action}">        
 
        <h:form id="CatDefListComponent" styleClass="catdef-list-component">
                <h:panelGroup id="fileListAreaAll" 
styleClass="file-list-area-all">
@@ -78,6 +97,12 @@
                                width="600" 
                                sortMode="single">
                                
+                               <f:facet name="caption">
+                       <h:outputText
+                               rendered="#{not empty caption}" 
+                               value="#{caption}" />
+                       </f:facet>
+                               
                                <f:facet name="header">
                                        <rich:columnGroup>
                                                <rich:column colspan="6">
@@ -152,7 +177,33 @@
                                <h:column>
                                        <f:facet 
name="header">#{lbl['catdef.list.body.operations']}</f:facet>
                                        <div class="list-operations-main">
+                                               <!-- CHOOSE1 (+LISTENER)-->
+                                               <h:panelGroup 
styleClass="list-operations-item" rendered="#{showSelectButton1ActionListener}">
+                                                       <a4j:commandButton 
id="ChooseButton1AL"
+                                                               
image="/images/icons/select.png"
+                                                               
reRender="#{toRerender1}"
+                                                               
onclick="#{jsOnClick1}"
+                                                               
oncomplete="#{jsOnComplete1AL}">
+                                                               
<f:setPropertyActionListener value="#{catDefRec.catDef}" target="#{target1}" />
+                                                               
<f:actionListener 
type="cz.elvys.webServer.beans.categrel.CatDefListComponentBean$AfterSelectionListener1ActionListener"
 />
+                                                       </a4j:commandButton>
+                                                       <rich:toolTip 
for="ChooseButton1"
+                                                               
value="#{chListenerTooltip1}"
+                                                               
direction="top-left" styleClass="short_tooltip" />
+                                               </h:panelGroup>
                                                
+                                               <!-- CHOOSE1 (+ACTION)-->
+                                               <h:panelGroup 
styleClass="list-operations-item" rendered="#{showSelectButton1Action and 
!showSelectButton1ActionListener}">
+                                                       <h:commandButton 
id="ChooseButton1A"
+                                                               
image="/images/icons/select.png"
+                                                               
action="#{catDefListComponentBean.afterSelectionAction1Action}">
+                                                               
<f:setPropertyActionListener value="#{catDefRec.catDef}" target="#{target1}" />
+                                                       </h:commandButton>
+                                                       <rich:toolTip 
for="ChooseButton1A"
+                                                               
value="#{chListenerTooltip1}"
+                                                               
direction="top-left" styleClass="short_tooltip" />
+                                               </h:panelGroup>
+                                               
                                                <!-- DELETE -->
                                                <h:panelGroup 
styleClass="list-operations-item"
                                                        
rendered="#{showDeleteIcon}">
@@ -193,6 +244,9 @@
                                                        <rich:toolTip 
for="ShowLayoutPreviewButton"
                                                                
value="#{lbl['catdef.list.body.layout.preview.tooltip']}" />
                                                </h:panelGroup>
+                                               
+                                               
+                                               
                                        </div>
                                </h:column>
                                <f:facet name="footer">

Modified: 
trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml
===================================================================
--- trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml     
2010-02-26 09:41:41 UTC (rev 1898)
+++ trunk/server/webServer2/WebContent/secured/elvysrel/listOfElvyses.xhtml     
2010-02-26 11:06:01 UTC (rev 1899)
@@ -171,12 +171,12 @@
                                                <h:panelGroup
                                                        
rendered="#{user.competency.canManageCategories}" 
                                                        
styleClass="list-operations-item">
-                                                       <a4j:commandButton 
+                                                       <h:commandButton 
                                                                
id="AssignCategoryButton"
-                                                               
image="/images/icons/category-assign.gif"
+                                                               
image="/images/icons/edit.png"
                                                                
action="#{catDefAssignStep1Bean.prepare}">
                                                                
<f:setPropertyActionListener value="#{record.elvys}" 
target="#{catDefAssignStep1Bean.updatedElvys}" />
-                                                       </a4j:commandButton>
+                                                       </h:commandButton>
                                                        <rich:toolTip 
for="AssignCategoryButton" direction="bottom-left">
                                                                <h:outputText 
value="#{lbl['elvys.list.table.assigncategory']}"/>
                                                        </rich:toolTip>

Added: trunk/server/webServer2/WebContent/styles/category/catDefAssignStep1.css
===================================================================
--- trunk/server/webServer2/WebContent/styles/category/catDefAssignStep1.css    
                        (rev 0)
+++ trunk/server/webServer2/WebContent/styles/category/catDefAssignStep1.css    
2010-02-26 11:06:01 UTC (rev 1899)
@@ -0,0 +1,21 @@
+
+.table-1-ordering {
+       display: block;
+}
+
+
+.table-2-notused {
+       display: block;
+       overflow: auto;
+       padding-left: 7px;
+}
+
+
+
+.rich-table-caption {
+       text-align: left;
+       padding-left: 5px;
+       font-family:Tahoma,Arial,Verdana,sans-serif;
+       font-size:12px;
+       font-weight:bold;
+}
\ No newline at end of file

Added: trunk/server/webServer2/WebContent/styles/category/catDefAssignStep2.css
===================================================================

Other related posts:

  • » [elvystrac] r1899 - assigning of category upgraded.. - elvys