Project

General

Profile

1 4080 daigle
<%@ page language="java" %>
2
<%@ page import="java.util.Set,java.util.HashMap,java.util.Map,java.util.SortedMap,java.util.Vector" %>
3
<%@ page import="edu.ucsb.nceas.utilities.PropertiesMetaData" %>
4
<%@ page import="edu.ucsb.nceas.utilities.MetaDataGroup,edu.ucsb.nceas.utilities.MetaDataProperty" %>
5
<%
6
/**
7
 *  '$RCSfile$'
8
 *    Copyright: 2008 Regents of the University of California and the
9
 *               National Center for Ecological Analysis and Synthesis
10
 *  For Details: http://www.nceas.ucsb.edu/
11
 *
12
 *   '$Author$'
13
 *     '$Date$'
14
 * '$Revision$'
15
 *
16
 * This program is free software; you can redistribute it and/or modify
17
 * it under the terms of the GNU General Public License as published by
18
 * the Free Software Foundation; either version 2 of the License, or
19
 * (at your option) any later version.
20
 *
21
 * This program is distributed in the hope that it will be useful,
22
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
 * GNU General Public License for more details.
25
 *
26
 * You should have received a copy of the GNU General Public License
27
 * along with this program; if not, write to the Free Software
28
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29
 */
30
%>
31
32
<%
33
 	Vector<String> skinNames = (Vector<String>)request.getAttribute("skinNameList");
34
	String defaultStyle = (String)request.getAttribute("defaultStyle");
35
%>
36
37
<html>
38
<head>
39
40
<title>Skins Configuration</title>
41
<link rel="stylesheet" type="text/css"
42
        href="<%= request.getContextPath() %>/admin/admin.css"></link>
43
<script language="JavaScript" type="text/JavaScript" src="<%= request.getContextPath() %>/admin/admin.js"></script>
44
45
</head>
46
<body>
47 4557 daigle
<%@ include file="./header-section.jsp"%>
48
49 8222 walker
<div class="document">
50
	<h2>Skins Configuration</h2>
51
52
	<br class="skins-header">
53
54
	<%@ include file="./page-message-section.jsp"%>
55
56
	<form method="POST" name="configuration_form" action="<%= request.getContextPath() %>/admin"
57
	                                        onsubmit="return validate_form();">
58
59
60
	<h3>Skins Configuration</h3>
61
	<div class="heading-comment message-text">
62
		NOTE: Metacat v2.2.0 includes a new mechanism for customizing the look and feel of your
63
		Metacat deployment. MetacatUI themes can be deployed separately from the Metacat server
64
		allowing easier independent user interface customization. See the Metacat documentation
65
		for more information on using this feature.
66 4258 daigle
	</div>
67 8222 walker
	<br/>
68
	<div class="heading-comment">
69
		Choose and configure the skins that will be available in this instance of Metacat
70
	</div>
71
	<br/>
72
73
	<%
74
		HashMap<String, HashMap<String, String>> allSkinProperties =
75
			(HashMap<String, HashMap<String, String>>)request.getAttribute("skinProperties");
76
		HashMap<String, PropertiesMetaData> allMetaData =
77
			(HashMap<String, PropertiesMetaData>)request.getAttribute("metadataMap");
78
79
		for (String skinName : skinNames) {
80
	%>
81
		<div class="form-row">
82
			<input class="checkradio" type="checkbox"
83
	<%
84 4115 daigle
			if (skinName.equals(defaultStyle)) {
85 8222 walker
	%>
86
				checked="yes"
87
	<%
88 4115 daigle
			}
89 8222 walker
	%>
90
				name="<%= skinName %>.cb" id="<%= skinName %>.cb"onClick="toggleHiddenTable(this, 'hiding-section-<%= skinName %>')"/>
91
			<label class="checkradio-label" for="<%= skinName %>.cb %>"><%= skinName %></label>
92
	<%
93
			if (skinName.equals(defaultStyle)) {
94
	%>
95
				<div class="checkradio-label-inline" id="hiding-default-<%= skinName %>"> (default)</div>
96
	<%
97
			} else {
98
	%>
99
				<div class="checkradio-label-inline" style="display: none;" id="hiding-default-<%= skinName %>"> (default)</div>
100
	<%
101
			}
102
	%>
103
		</div>
104
		<div class="hiding-section"
105
	<%
106
			if (skinName.equals(defaultStyle)) {
107
	%>
108
					style="display: block;"
109
	<%
110
			}
111
	%>
112
		id="hiding-section-<%= skinName %>">
113
	<%
114
			HashMap<String, String> skinProperties = allSkinProperties.get(skinName);
115
			PropertiesMetaData metaData = (PropertiesMetaData)allMetaData.get(skinName);
116
			Map<Integer, MetaDataGroup> metaDataGroups = metaData.getGroups();
117
			Set<Integer> groupKeys = metaDataGroups.keySet();
118
			for (Integer groupkey : groupKeys) {
119
				if (groupkey == 0) {
120
					continue;
121
				}
122
				SortedMap<Integer, MetaDataProperty> propertyMap = metaData.getPropertiesInGroup(groupkey);
123
				Set<Integer> propertyKeys = propertyMap.keySet();
124
	%>
125
						<input class="checkradio" type="radio"
126
	<%
127
				if (skinName.equals(defaultStyle)) {
128
	%>
129
						checked
130
	<%
131
				}
132
	%>
133
						name="application.default-style" id="<%= skinName %>-radio" value="<%= skinName %>" onChange="toggleHiddenDefaultText('default-flag', '<%= skinName %>')"/>
134
						<label class="checkradio-label" for="<%= skinName %>-radio"> Make  &quot;<%= skinName %>&quot; default </label>
135
	<%
136
				for (Integer propertyKey : propertyKeys) {
137
	%>
138
	<%
139
					MetaDataProperty metaDataProperty = propertyMap.get(propertyKey);
140
					String fieldType = metaDataProperty.getFieldType();
141
					if (fieldType.equals("select")) {
142
	%>
143
					<div class="form-row">
144
						<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>
145
						<select class="textinput" name="<%= skinName %>.<%= metaDataProperty.getKey() %>">
146
147
	<%
148
						Vector<String> fieldOptionNames = metaDataProperty.getFieldOptionNames();
149
						Vector<String> fieldOptionValues = metaDataProperty.getFieldOptionValues();
150
						for (int i = 0; i < fieldOptionNames.size(); i++) {
151
	%>
152
							<option value="<%= fieldOptionValues.elementAt(i) %>"> <%= fieldOptionNames.elementAt(i) %>
153
	<%
154
						}
155
	%>
156
						</select>
157
						<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')""></i>
158
					</div>
159
	<%
160
						if (metaDataProperty.getDescription() != null) {
161
	%>
162
							<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
163
	<%
164
						}
165
					} else if (fieldType.equals("password")) {
166
	%>
167
					<div class="form-row">
168
						<div class="textinput-label"><label for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label></div>
169
						<input class="textinput" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>"
170
								type="<%= fieldType %>"/>
171
						<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"></i>
172
					</div>
173
	<%
174
						if (metaDataProperty.getDescription() != null) {
175
	%>
176
							<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
177
	<%
178
						}
179
					} else if (fieldType.equals("checkbox")) {
180
	%>
181
					<div class="form-row">
182
						<input class="checkradio" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>"
183
							   type="<%= fieldType %>"
184
	<%
185
						if (skinProperties.get(metaDataProperty.getKey()).equals("true")) {
186
	%>
187
								checked="yes"
188
	<%
189
						}
190
	%>
191
							   />
192
						<label class="checkradio-label" for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>
193
						<i class="icon-question-sign" alt="<%= metaDataProperty.getDescription() %>"
194
							 onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"></i>
195
					</div>
196
	<%
197
						if (metaDataProperty.getDescription() != null) {
198
	%>
199
							<div class="checkradio-description">[<%= metaDataProperty.getDescription() %>]</div>
200
	<%
201
						}
202
					} else {
203
	%>
204
					<div class="form-row">
205
						<label class="textinput-label" for="<%= metaDataProperty.getKey() %>" title="<%= metaDataProperty.getDescription() %>"><%= metaDataProperty.getLabel() %></label>
206
						<input class="textinput" id="<%= skinName %>.<%= metaDataProperty.getKey() %>" name="<%= skinName %>.<%= metaDataProperty.getKey() %>"
207
								value="<%= skinProperties.get(metaDataProperty.getKey()) %>"
208
								type="<%= fieldType %>"/>
209
						<i class="icon-question-sign" onClick="helpWindow('<%= request.getContextPath() %>','<%= metaDataProperty.getHelpFile() %>')"></i>
210
					</div>
211
	<%
212
						if (metaDataProperty.getDescription() != null) {
213
	%>
214
							<div class="textinput-description">[<%= metaDataProperty.getDescription() %>]</div>
215
	<%
216
						}
217
					}
218
				}
219 4157 daigle
			}
220 8222 walker
221
	%>
222
		</div>
223
	<%
224 4080 daigle
		}
225 8222 walker
	%>
226
	<div class="buttons-wrapper">
227
		<input type="hidden" name="configureType" value="skins"/>
228
		<input type="hidden" name="processForm" value="true"/>
229
		<input class="button" type="submit" value="Save"/>
230
		<input class="button" type="button" value="Cancel" onClick="forward('./admin')">
231 4258 daigle
	</div>
232 8222 walker
	</form>
233
</div>
234 4080 daigle
235 4557 daigle
<%@ include file="./footer-section.jsp"%>
236
237 4080 daigle
</body>
238
</html>