Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Apr 30th, 2012  |  syntax: None  |  size: 7.84 KB  |  views: 148  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Primefaces: commandButton in confirmDialog cannot update datatable in the same form
  2. public void delete(ActionEvent actionEvent) {
  3.     categoryRepository.delete(currentCategory);
  4.     currentCategory = new Category();
  5.     categoryList = categoryRepository.findAll();
  6. }
  7.        
  8. <h:form id="categoryForm">
  9.                 <p:commandButton id="addCategoryButton" value="New"
  10.                     onclick="categoryDialog.show();" type="button" />
  11.  
  12.                 <p:dataTable var="cat" value="#{categoryBean.categoryList}"
  13.                     rowKey="#{cat.id}" paginator="true" rows="10"
  14.                     selection="#{categoryBean.selectedCategories}" id="categoryTable"
  15.                     widgetVar="categoryTable">
  16.  
  17.                     <f:facet name="header">
  18.         Category List
  19.     </f:facet>
  20.                     <p:column selectionMode="multiple" />
  21.                     <p:column headerText="Name" sortBy="#{cat.name}"
  22.                         filterBy="#{cat.name}" id="name">
  23.                      #{cat.name[categoryBean.currentLocale.language]}
  24.                     </p:column>
  25.                     <p:column headerText="Sort Order" sortBy="#{cat.sortOrder}"
  26.                         filterBy="#{cat.sortOrder}" id="sortOrder">
  27.                         #{cat.sortOrder}
  28.                     </p:column>
  29.                     <p:column headerText="Actions" id="actions">
  30.                         <h:commandButton action="#{categoryBean.edit(cat)}" value="Edit" />
  31.  
  32.                         <h:commandButton value="Delete"
  33.                             onclick="deleteConfirmation.show()" type="button">
  34.                             <f:setPropertyActionListener value="#{cat}"
  35.                                 target="#{categoryBean.currentCategory}" />
  36.                         </h:commandButton>
  37.  
  38.                     </p:column>
  39.  
  40.                 </p:dataTable>
  41.                 <p:confirmDialog id="deleteConfirmDialog" message="Are you sure?"
  42.                     header="Initiating destroy process" severity="alert"
  43.                     widgetVar="deleteConfirmation">
  44.  
  45.                     <p:commandButton id="confirm" value="Yes Sure"
  46.                         update=":categoryForm:categoryTable"
  47.                         oncomplete="deleteConfirmation.hide()"
  48.                         actionListener="#{categoryBean.delete}" />
  49.                     <p:commandButton id="decline" value="Not Yet"
  50.                         onclick="deleteConfirmation.hide()" type="button" />
  51.                 </p:confirmDialog>
  52.  
  53.                 <p:dialog id="categoryDialog" header="Category Detail"
  54.                     widgetVar="categoryDialog" resizable="false" style="width:90%;"
  55.                     showEffect="explode" hideEffect="explode">
  56.                     <p:panel id="panel" header="Edit Category"
  57.                         style="margin-bottom:10px;">
  58.                         <p:messages id="messages" />
  59.                         <h:panelGrid columns="3">
  60.                             <h:outputLabel for="nameTabView" value="Name: " />
  61.                             <p:tabView id="nameTabView">
  62.                                 <c:forEach var="locale" items="#{categoryBean.userLocales}">
  63.                                     <p:tab title="#{locale.displayLanguage}">
  64.                                         <h:panelGrid columns="2" cellpadding="10">
  65.                                             <h:inputText
  66.                                                 value="#{categoryBean.currentCategory.name[locale.language]}" />
  67.                                         </h:panelGrid>
  68.                                     </p:tab>
  69.                                 </c:forEach>
  70.                             </p:tabView>
  71.                         </h:panelGrid>
  72.                         <p:commandButton id="saveCategoryButton" value="Save"
  73.                             oncomplete="categoryDialog.hide()"
  74.                             actionListener="#{categoryBean.save}"
  75.                             update="categoryTable, categoryDialog" />
  76.                     </p:panel>
  77.  
  78.                 </p:dialog>
  79.             </h:form>
  80.        
  81. <h:form id="categoryForm">
  82.                 <p:commandButton id="addCategoryButton" value="New"
  83.                     onclick="categoryDialog.show();" type="button" />
  84.  
  85.                 <p:dataTable var="cat" value="#{categoryBean.categoryList}"
  86.                     rowKey="#{cat.id}" paginator="true" rows="10"
  87.                     selection="#{categoryBean.selectedCategories}" id="categoryTable"
  88.                     widgetVar="categoryTable">
  89.  
  90.                     <f:facet name="header">
  91.         Category List
  92.     </f:facet>
  93.                     <p:column selectionMode="multiple" />
  94.                     <p:column headerText="Name" sortBy="#{cat.name}"
  95.                         filterBy="#{cat.name}" id="name">
  96.                      #{cat.name[categoryBean.currentLocale.language]}
  97.                     </p:column>
  98.                     <p:column headerText="Sort Order" sortBy="#{cat.sortOrder}"
  99.                         filterBy="#{cat.sortOrder}" id="sortOrder">
  100.                         #{cat.sortOrder}
  101.                     </p:column>
  102.                     <p:column headerText="Actions" id="actions">
  103.                         <p:panelGrid columns="2" styleClass="actions" cellpadding="2">
  104.                             <p:commandButton action="#{categoryBean.edit(cat)}" value="Edit" />
  105.                             <p:commandButton value="Delete"
  106.                                 onclick="deleteConfirmation.show()">
  107.                                 <f:setPropertyActionListener value="#{cat}"
  108.                                     target="#{categoryBean.currentCategory}" />
  109.                             </p:commandButton>
  110.                         </p:panelGrid>
  111.                     </p:column>
  112.  
  113.                 </p:dataTable>
  114.                 <p:confirmDialog id="deleteConfirmDialog" message="Are you sure?"
  115.                     header="Initiating destroy process" severity="alert"
  116.                     widgetVar="deleteConfirmation">
  117.  
  118.                     <p:commandButton id="confirm" value="Yes Sure"
  119.                         update=":categoryForm:categoryTable"
  120.                         oncomplete="deleteConfirmation.hide()"
  121.                         actionListener="#{categoryBean.delete}" />
  122.                     <p:commandButton id="decline" value="Not Yet"
  123.                         onclick="deleteConfirmation.hide()" type="button" />
  124.                 </p:confirmDialog>
  125.  
  126.                 <p:dialog id="categoryDialog" header="Category Detail"
  127.                     widgetVar="categoryDialog" resizable="false" style="width:90%;"
  128.                     showEffect="explode" hideEffect="explode">
  129.                     <p:panel id="panel" header="Edit Category"
  130.                         style="margin-bottom:10px;">
  131.                         <p:messages id="messages" />
  132.                         <h:panelGrid columns="3">
  133.                             <h:outputLabel for="nameTabView" value="Name: " />
  134.                             <p:tabView id="nameTabView">
  135.                                 <c:forEach var="locale" items="#{categoryBean.userLocales}">
  136.                                     <p:tab title="#{locale.displayLanguage}">
  137.                                         <h:panelGrid columns="2" cellpadding="10">
  138.                                             <h:inputText
  139.                                                 value="#{categoryBean.currentCategory.name[locale.language]}" />
  140.                                         </h:panelGrid>
  141.                                     </p:tab>
  142.                                 </c:forEach>
  143.                             </p:tabView>
  144.                         </h:panelGrid>
  145.                         <p:commandButton id="saveCategoryButton" value="Save"
  146.                             oncomplete="categoryDialog.hide()"
  147.                             actionListener="#{categoryBean.save}"
  148.                             update="categoryTable, categoryDialog" />
  149.                     </p:panel>
  150.  
  151.                 </p:dialog>
  152.             </h:form>