Created
June 20, 2014 07:17
-
-
Save hatemalimam/a6560dd6a3d2664c32b4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE html> | |
<html 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:p="http://primefaces.org/ui"> | |
<ui:composition template="/templates/default/main.xhtml"> | |
<ui:define name="content"> | |
<h:form id="form"> | |
<p:dataTable value="#{mainBean.list}" var="user" | |
rows="10" id="tableId"> | |
<p:column headerText="User"> | |
#{user.name} | |
</p:column> | |
<p:column headerText="View"> | |
<h:selectBooleanCheckbox id="view" /> | |
</p:column> | |
<p:column headerText="Create"> | |
<h:selectBooleanCheckbox id="create"> | |
</h:selectBooleanCheckbox> | |
</p:column> | |
<p:column headerText="Edit"> | |
<h:selectBooleanCheckbox id="edit"> | |
</h:selectBooleanCheckbox> | |
</p:column> | |
<p:column headerText="Delete"> | |
<h:selectBooleanCheckbox id="delete"> | |
</h:selectBooleanCheckbox> | |
</p:column> | |
</p:dataTable> | |
</h:form> | |
<script> | |
//<![CDATA[ | |
$(function() { | |
$(PrimeFaces.escapeClientId('form:tableId')) | |
.on( | |
"change", | |
"input[type='checkbox'][name*='edit'], input[type='checkbox'][name*='create'], input[type='checkbox'][name*='delete']", | |
function() { | |
var tr = $(this).parent().parent(); | |
var view = tr | |
.find("input[type='checkbox'][name*='view']"); | |
var create = tr | |
.find("input[type='checkbox'][name*='create']"); | |
var edit = tr | |
.find("input[type='checkbox'][name*='edit']"); | |
var deleteBox = tr | |
.find("input[type='checkbox'][name*='delete']"); | |
if ($(this).is(':checked')) { | |
view.prop("checked", true); | |
} else { | |
if (create.is(':checked') || edit.is(':checked') | |
|| deleteBox.is(':checked')) { | |
view.prop("checked", true); | |
} else | |
view.prop("checked", false); | |
} | |
}); | |
$(PrimeFaces.escapeClientId('form:tableId')).on( | |
"change", | |
"input[type='checkbox'][name*='view']", | |
function() { | |
var tr = $(this).parent().parent(); | |
var view = tr.find("input[type='checkbox'][name*='view']"); | |
var create = tr.find("input[type='checkbox'][name*='create']"); | |
var edit = tr.find("input[type='checkbox'][name*='edit']"); | |
var deleteBox = tr | |
.find("input[type='checkbox'][name*='delete']"); | |
if ($(this).is(':not(:checked)')) { | |
create.prop("checked", false); | |
edit.prop("checked", false); | |
deleteBox.prop("checked", false); | |
} | |
}); | |
}); | |
//]]> | |
</script> | |
</ui:define> | |
</ui:composition> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment