Statistics
| Branch: | Revision:

m2u-upass-admin / WebContent / jsp / ss103_group / ibssGroupCreate.jsp @ 26:fa4d8ef21e4a

History | View | Annotate | Download (10.4 KB)

1
<%@ taglib uri="/WEB-INF/tld/struts-html" prefix="html"%>
2
<%@ taglib uri="/WEB-INF/tld/struts-html-el" prefix="htmlEL"%>
3
<%@ taglib uri="/WEB-INF/tld/struts-bean" prefix="bean"%>
4
<%@ taglib uri="/WEB-INF/tld/struts-logic" prefix="logic"%>
5
<%@ taglib uri="/WEB-INF/tld/struts-logic-el" prefix="logicEL"%>
6
<%@ taglib uri="/WEB-INF/tld/c" prefix="c"%>
7

    
8
<bean:define id="viewBean" name="ibssGroupForm" property="ibssGroupAccessView" />
9
<bean:define id="navigations" name="viewBean" property="navigationList" type="java.util.List"></bean:define>
10

    
11
<h3 class="title"><strong><c:out value="${sessionScope.displayDesc}"/> - <bean:message key="general.button.create" /></strong></h3>
12

    
13
<table id="errorTable">
14
	<tr>
15
		<td><span id="serverSideError" class="error"><jsp:include
16
			flush="true" page="/jsp/errorHandler.jsp"></jsp:include></span></td>
17
	</tr>
18
</table>
19

    
20
<table class="stepTable">
21
	<tr>
22
		<td>&nbsp;</td>
23
		<td>
24
		<div id="steps"><span>
25
			<bean:message key="general.title.steps" arg0="1" arg1="3" /></span></div>
26
		</td>
27
	</tr>
28
</table>
29

    
30
<htmlEL:form action="/ss103/createGroupConfrim.do">
31
<table class="tabularForm">
32
	<tr>
33
		<td width="72">&nbsp;</td>
34
		<td width="100">&nbsp;</td>
35
		<td width="145">&nbsp;</td>
36
		<td width="143">&nbsp;</td>
37
		<td width="144">&nbsp;</td>
38
	</tr>
39

    
40
	<tr>
41
		<td>&nbsp;</td>
42
		<td><bean:message key="group.name"/>:</td>
43
		<td><htmlEL:text property="groupName" name="ibssGroupForm" maxlength="64" autocomplete="off"/></td>
44
		<td>&nbsp;</td>
45
		<td>&nbsp;</td>
46
	</tr>
47
	
48
	<tr>
49
		<td>&nbsp;</td>
50
		<td><bean:message key="group.description"/>:</td>
51
		<td class="valignTop" colspan="2"><htmlEL:textarea property="groupDescription" name="ibssGroupForm"/></td>
52
		<td>&nbsp;</td>
53
	</tr>
54
	
55
	<tr>
56
		<td>&nbsp;</td>
57
		<td><bean:message key="group.mode"/>:</td>
58
		<td class="valignTop" colspan="2">
59
			<htmlEL:select property="mode" name="ibssGroupForm" onchange="this.form.submit();overlay();" >
60
				<htmlEL:option value="1"><bean:message key="group.mode.1"/></htmlEL:option>
61
				<htmlEL:option value="3"><bean:message key="group.mode.3"/></htmlEL:option>
62
			</htmlEL:select>
63
		</td>
64
		<td>&nbsp;</td>
65
	</tr>
66
	
67
	<tr>
68
		<td>&nbsp;</td>
69
		<td>&nbsp;</td>
70
		<td>&nbsp;</td>
71
		<td>&nbsp;</td>
72
		<td>&nbsp;</td>
73
	</tr>
74
	
75
	<tr>
76
		<td>&nbsp;</td>
77
		<td><strong><bean:message key="group.access"/></strong>:</td>
78
		<td>&nbsp;</td>
79
		<td>&nbsp;</td>
80
		<td>&nbsp;</td>
81
	</tr>
82
	<tr>
83
		<td>&nbsp;</td>
84
		<td colspan="4">
85
			<br/>		
86
			<ul class="treeHierarchy" class="right">
87
			<c:forEach var="item" items="${viewBean.map.navigationList}" varStatus="index">
88
				<c:set var="css" value=""/>
89
				<c:if test="${index.last}"><c:set var="css" value="lastLine"/></c:if>
90
				<li class="<c:out value="${css}"/>">
91
					<htmlEL:multibox styleClass="checkAll" property="selectedAccesses" disabled="false"><c:out value="${item.nodeId}"/></htmlEL:multibox>				  	
92
					<label class="nodeName"><c:out value="${item.nodeName}"/></label>
93
					(<c:out value="${item.nodeCode}"/>) 1
94
					<div class="<c:out value="${item.nodeId}"/>">
95
					<c:if test="${not empty item.subNavigations}">
96
					<ul>
97
					<c:forEach var="subItem" items="${item.subNavigations}" varStatus="index1">
98
						<c:set var="css" value=""/>
99
						<c:if test="${index1.last}"><c:set var="css" value="lastLine"/></c:if>
100
						<li class="<c:out value="${css}"/>">
101
							<htmlEL:multibox styleClass="subAll" property="selectedAccesses" disabled="false"><c:out value="${subItem.nodeId}"/></htmlEL:multibox>
102
							<label class="nodeName"><c:out value="${subItem.nodeName}"/></label>
103
							(<c:out value="${subItem.nodeCode}"/>) 2
104
							<div class="<c:out value="${subItem.nodeId}"/>">
105
							<c:if test="${not empty subItem.subNavigations}">
106
							<ul>
107
							<c:forEach var="thirdItem" items="${subItem.subNavigations}" varStatus="index2">
108
								<c:set var="css" value=""/>
109
								<c:if test="${index2.last}"><c:set var="css" value="lastLine"/></c:if>
110
								<li class="<c:out value="${css}"/>">
111
									<htmlEL:multibox styleClass="sub2All" property="selectedAccesses" disabled="false"><c:out value="${thirdItem.nodeId}"/></htmlEL:multibox>	
112
									<label class="nodeName"><c:out value="${thirdItem.nodeName}"/></label>
113
									(<c:out value="${thirdItem.nodeCode}"/>)
114
									<div class="<c:out value="${thirdItem.nodeId}"/>">
115
									<c:if test="${not empty thirdItem.subNavigations}">
116
									<ul>
117
									<c:forEach var="forthItem" items="${thirdItem.subNavigations}" varStatus="index3">
118
										<c:set var="css" value=""/>
119
										<c:if test="${index3.last}"><c:set var="css" value="lastLine"/></c:if>
120
										<li class="<c:out value="${css}"/>">
121
											<htmlEL:multibox onclick="SetAllCheckBoxes(${forthItem.nodeId}, 'selectedAccesses');" property="selectedAccesses" disabled="false">
122
											<c:out value="${forthItem.nodeId}"/>
123
											</htmlEL:multibox>
124
											<label class="nodeName"><c:out value="${forthItem.nodeName}"/></label>
125
											(<c:out value="${forthItem.nodeCode}"/>)
126
											<div class="<c:out value="${forthItem.nodeId}"/>">
127
											<c:if test="${not empty forthItem.subNavigations}">
128
											<ul>
129
											<c:forEach var="fifthItem" items="${forthItem.subNavigations}" varStatus="index4">
130
												<c:set var="css" value=""/>
131
												<c:if test="${index4.last}"><c:set var="css" value="lastLine"/></c:if>
132
												<li class="<c:out value="${css}"/>">
133
													<htmlEL:multibox name="viewBean" property="selectedAccesses" disabled="false"><c:out value="${fifthItem.nodeId}"/></htmlEL:multibox>
134
													<label class="nodeName"><c:out value="${fifthItem.nodeName}"/></label>
135
													(<c:out value="${fifthItem.nodeCode}"/>)
136
												</li>
137
											</c:forEach>
138
											</ul>
139
											</c:if>
140
											</div>
141
										</li>
142
									</c:forEach>
143
									</ul>
144
									</c:if>
145
									</div>
146
								</li>
147
							</c:forEach>
148
							</ul>
149
							</c:if>
150
							</div>
151
						</li>
152
					</c:forEach>
153
					</ul>
154
					</c:if>				
155
					</div>
156
				</li>
157
			</c:forEach>
158
		</ul>
159
		</td>
160
	</tr>
161
	<tr>
162
		<td colspan="5">&nbsp;</td>
163
	</tr>
164
</table>
165
<div class="floatRight">
166
	<htmlEL:submit property="action" onclick="overlay();">
167
		<bean:message key="general.button.back"/>
168
	</htmlEL:submit>
169
	<htmlEL:submit property="action" onclick="overlay();">
170
		<bean:message key="general.button.next"/>
171
	</htmlEL:submit>
172
</div>
173
</htmlEL:form>
174

    
175

    
176
<script type="text/javascript">
177
function SetAllCheckBoxes(FieldName, name)
178
{
179
	var objFormParent = document.forms[0].elements[name];
180
	var each;
181
	for(var j = 0, maxJ = objFormParent.length; j < maxJ; ++j)
182
	{
183
		var el = objFormParent[j];
184
		if(el.value == FieldName)
185
		{
186
			each = el;
187
		}
188
	}
189
	
190
	var objElement = document.getElementById(FieldName);
191
	var objCheckBoxes = objElement.getElementsByTagName("*");
192
	for(var i = 0, maxI = objCheckBoxes.length; i < maxI; ++i) {
193
        var elm = objCheckBoxes[i];
194
        switch(elm.type) {
195
        case "checkbox":
196
            if(each.checked == false && elm.name == name)
197
            {
198
                elm.checked = false;
199
            }
200
            if(each.checked == true && elm.name == name)
201
            {
202
                elm.checked = true;
203
            }
204
      }
205
	}
206
}
207
</script>
208
<script type="text/javascript">
209
var flag = true;
210
$('.selectAllCheck').click(function(){
211
	if(flag){
212
		$('.treeHierarchy input:checkbox[name|="accessibleArray"]').attr('checked','checked');
213
		var textMode1 = $('#fieldMode1').val();
214
		if(textMode1 != 'Observation'){
215
			$('.treeHierarchy input:checkbox[name|="editableArray"]').attr('checked','checked');
216
		}
217
		flag = false;
218
	}
219
	else{
220
		$(".treeHierarchy input:checkbox").removeAttr("checked");
221
		flag = true;
222
	}
223
});
224
</script>
225
<script type="text/javascript">
226
$(function() {
227
	  // 1st level select all child
228
	  function checkAll()
229
	  {
230
		var singleValues = $(this).val();
231
		var selected = "."+singleValues;
232
		$(selected).children("ul").find("input[type=checkbox]").prop("checked",this.checked);
233
	  }
234
	  // 2nd level select all child
235
	  function subAll()
236
	  {
237
		var singleValues = $(this).val();
238
		var selected = "."+singleValues;
239
		$(selected).find("input[type=checkbox]").prop("checked",this.checked);
240

    
241
		var parentId = "."+$(this).parent("li").parent("ul").parent("div").parent("li").find("input[type=checkbox]").val();
242
		var parentValue = "input[value="+$(this).parent("li").parent("ul").parent("div").parent("li").find("input[type=checkbox]").val()+"]";
243
		var parentBox = $(this).parent("li").parent("ul").parent("div").parent("li").find(parentValue);
244
		var parentLength = $(parentId).find("input[type=checkbox]").length;
245
		var parentCheck = $(parentId).find("input[type=checkbox]:checked").length;
246

    
247
		if(parentCheck != null) {
248
			$(parentBox).attr("checked", "checked");
249
		} else {
250
		    $(parentBox).removeAttr("checked");
251
		}
252
	  }
253
	  // 3rd level select all child
254
	  function actionAll()
255
	  {
256
		var parentId = "."+$(this).parent("li").parent("ul").parent("div").parent("li").find("input[type=checkbox]").val();
257
		var parentValue = "input[value="+$(this).parent("li").parent("ul").parent("div").parent("li").find("input[type=checkbox]").val()+"]";
258
		var parentBox = $(this).parent("li").parent("ul").parent("div").parent("li").find(parentValue);
259
		var parentLength = $(parentId).find("input[type=checkbox]").length;
260
		var parentCheck = $(parentId).find("input[type=checkbox]:checked").length;
261

    
262
		if(parentCheck != null) {
263
			$(parentBox).attr("checked", "checked");
264
		} else {
265
		   	$(parentBox).removeAttr("checked");
266
		}
267

    
268
		var ancestorId = "."+$(this).parent("li").parent("ul").parent("div").parent("li").parent("ul").parent("div").parent("li").find("input[type=checkbox]").val();
269
		var ancestorValue = "input[value="+$(this).parent("li").parent("ul").parent("div").parent("li").parent("ul").parent("div").parent("li").find("input[type=checkbox]").val()+"]";
270
		var ancestorBox = $(this).parent("li").parent("ul").parent("div").parent("li").parent("ul").parent("div").parent("li").find(ancestorValue);
271
		var ancestorLength = $(ancestorId).find("input[type=checkbox]").length;
272
		var ancestorCheck = $(ancestorId).find("input[type=checkbox]:checked").length;
273

    
274
		if(ancestorCheck != null) {
275
			$(ancestorBox).attr("checked", "checked");
276
		} else {
277
			$(ancestorBox).removeAttr("checked");
278
		}     
279
	  }
280

    
281
	  $(".checkAll").change(checkAll);
282

    
283
	  $(".subAll").change(subAll);
284

    
285
	  $(".sub2All").change(actionAll);
286

    
287
});
288
</script>