-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.xhtml
99 lines (95 loc) · 5.27 KB
/
main.xhtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<ui:composition 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" template="/WEB-INF/templates/default/main.xhtml">
<ui:define name="content">
<div class="page-title">
<h3>Roles CheckBoxes</h3>
</div>
<h:form id="form">
<div class="row">
<div class="col-md-12">
<div class="grid simple">
<div class="grid-title no-border">
</div>
<div class="grid-body no-border"> <br />
<div class="row">
<div class="col-md-8 col-sm-8 col-xs-8">
<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>
</div>
</div>
</div>
</div>
</div>
</div>
</h:form>
<script src="https://gist.github.com/hatemalimam/a6560dd6a3d2664c32b4.js"></script>
<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>