Remove trailing whitespace throughout project

This commit is contained in:
gneissone 2019-04-25 14:51:38 -07:00 committed by Andrew Woods
parent 74b8f16aa2
commit bd6140a8cc
1753 changed files with 24077 additions and 24077 deletions

View file

@ -1,2 +1,2 @@
${build.timestamp}
Vitro ~ ${project.version} ~ ${buildNumber}
Vitro ~ ${project.version} ~ ${buildNumber}

View file

@ -11,30 +11,30 @@
<!-- creator: "new" "scripted" "spring" -->
<!-- scope: "application" "session" "request" "page" -->
<!-- that the "request" scope is only useful for static methods -->
<create creator="new" javascript="PropertyDWR" scope="page">
<param name="class" value="edu.cornell.mannlib.vitro.webapp.dwr.PropertyDWR"/>
</create>
<create creator="new" javascript="EntityDWR" scope="page">
<param name="class" value="edu.cornell.mannlib.vitro.webapp.dwr.EntityDWR" />
</create>
</create>
<create creator="new" javascript="VClassDWR" scope="page">
<param name="class" value="edu.cornell.mannlib.vitro.webapp.dwr.VClassDWR"/>
</create>
<!-- Convert blocks define how a types are moved between java
land and java script land -->
<!-- Convert blocks define how a types are moved between java
land and java script land -->
<convert converter="bean" match="edu.cornell.mannlib.vitro.webapp.beans.VClass">
<param name="include" value="name,URI,groupURI,hidden,shortDef,hiddenFromPublicDisplay,hiddenFromEditDisplay"/>
</convert>
<convert converter="bean" match="edu.cornell.mannlib.vitro.webapp.beans.Individual">
<param name="include" value="name,moniker,URI,vClassURI"/>
</convert>
<convert converter="bean" match="edu.cornell.mannlib.vitro.webapp.beans.PropertyInstance"/>
<!--<convert converter="object" match="edu.cornell.mannlib.vitro.beans.Entity">-->

View file

@ -1,4 +1,4 @@
# $This file is distributed under the terms of the license in LICENSE$
# $This file is distributed under the terms of the license in LICENSE$
#
# Short View configuration
@ -8,6 +8,6 @@
# implementation, and should be replaced when the work on the Application and Display
# Ontology is complete.
#
# Find out how to use this file at
# Find out how to use this file at
# https://wiki.duraspace.org/display/VIVO/Using+Short+Views+in+Release+1.5
#

View file

@ -1,7 +1,7 @@
#
# ServletContextListeners for Vitro, to be instantiated and run by the StartupManager.
#
# For more information,
#
# For more information,
# https://wiki.duraspace.org/display/VIVO/The+StartupManager
#
@ -53,7 +53,7 @@ edu.ucsf.vitro.opensocial.OpenSocialSmokeTests
# For multiple language support
edu.cornell.mannlib.vitro.webapp.i18n.selection.LocaleSelectionSetup
# The search indexer uses a "public" permission, so the PropertyRestrictionPolicyHelper
# The search indexer uses a "public" permission, so the PropertyRestrictionPolicyHelper
# and the PermissionRegistry must already be set up.
edu.cornell.mannlib.vitro.webapp.searchindex.SearchIndexerSetup
@ -63,7 +63,7 @@ edu.cornell.mannlib.vitro.webapp.freemarker.config.FreemarkerConfiguration$Setup
# On shutdown, this will kill the background thread started by Apache Commons File Upload
org.apache.commons.fileupload.servlet.FileCleanerCleanup
# The VClassGroupCache index uses a "public" permission, so the PropertyRestrictionPolicyHelper
# The VClassGroupCache index uses a "public" permission, so the PropertyRestrictionPolicyHelper
# and the PermissionRegistry must already be set up.
edu.cornell.mannlib.vitro.webapp.dao.jena.VClassGroupCache$Setup

View file

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in LICENSE$ -->
<taglib
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
<taglib
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<uri>http://vitro.mannlib.cornell.edu/vitro/tags/StringProcessorTag</uri>
<!--
This taglib is for processing the output using a UnaryFunctor<String,String>
found in the request scope.
@ -16,13 +16,13 @@
<tag>
<name>process</name>
<tag-class>edu.cornell.mannlib.vitro.webapp.web.jsptags.StringProcessorTag</tag-class>
<tag-class>edu.cornell.mannlib.vitro.webapp.web.jsptags.StringProcessorTag</tag-class>
<display-name>String Processor</display-name>
<description>
Processes output using "StringProcessor" from request.
</description>
<body-content>scriptless</body-content>
</tag>
</taglib>
</taglib>

View file

@ -2,9 +2,9 @@
<!-- $This file is distributed under the terms of the license in LICENSE$ -->
<taglib
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<display-name>Vitro Utilities taglib</display-name>
@ -20,21 +20,21 @@
<display-name>Confirm that the user is authorized for the actions that this page requires.</display-name>
<description>
Confirm that the user is authorized to perform all of the RequestedActions that
this page requires. If any of the actions is not authorized, the user will be
this page requires. If any of the actions is not authorized, the user will be
redirected to the appropriate page.
The actions must be found in the "requestedActions" attribute of the request.
The attribute may be a RequestedAction or an array of RequestedActions.
The actions must be found in the "requestedActions" attribute of the request.
The attribute may be a RequestedAction or an array of RequestedActions.
If the user is not authorized because he is not logged in, he will be directed
to the login page, with the current request stored as a post-login destination.
If the user is logged in but without sufficient authorization, he will be
directed to the home page, which will display an "insufficient authorization"
directed to the home page, which will display an "insufficient authorization"
message.
</description>
<tag-class>edu.cornell.mannlib.vitro.webapp.web.jsptags.ConfirmAuthorization</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
</taglib>

View file

@ -4,7 +4,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
@ -74,7 +74,7 @@ not the body content should be processed.
<description>
Name of the exported scoped variable for the
resulting value of the test condition. The type
of the scoped variable is Boolean.
of the scoped variable is Boolean.
</description>
<name>var</name>
<required>false</required>
@ -322,7 +322,7 @@ visibility.
<tag>
<description>
Like &lt;%= ... &gt;, but for expressions.
</description>
</description>
<name>out</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.OutTag</tag-class>
<body-content>JSP</body-content>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>

View file

@ -4,7 +4,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 functions library</description>
<display-name>JSTL functions</display-name>
<tlib-version>1.1</tlib-version>
@ -201,7 +201,7 @@
<function-signature>java.lang.String trim(java.lang.String)</function-signature>
<example>
Name: ${fn.trim(name)}
</example>
</example>
</function>
</taglib>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in LICENSE$ -->
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
@ -13,7 +13,7 @@
how dynamic content should be retrieved from persistent
storage.
</info>
<tag>
<name>option</name>
<tagclass>edu.cornell.mannlib.vedit.tags.OptionTag</tagclass>
@ -22,7 +22,7 @@
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</attribute>
</tag>
<tag>
@ -33,9 +33,9 @@
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</attribute>
</tag>
<tag>
<name>dynamicFields</name>
<tagclass>edu.cornell.mannlib.vedit.tags.DynamicFieldsTag</tagclass>
@ -51,7 +51,7 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>error</name>
<tagclass>edu.cornell.mannlib.vedit.tags.ErrorTag</tagclass>
@ -60,7 +60,7 @@
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</attribute>
</tag>
</taglib>

View file

@ -6,16 +6,16 @@
<jspversion>1.1</jspversion>
<shortname>mailer</shortname>
<uri>http://jakarta.apache.org/taglibs/mailer-1.1</uri>
<info>This custom tag library is used to send e-mail.E-mail can be sent in three ways. The first way requires the name of the
SMTP host to use. The second requires the name of a JNDI Resource for a
JavaMail Session. The third requires the name of a JNDI Resource for a
<info>This custom tag library is used to send e-mail.E-mail can be sent in three ways. The first way requires the name of the
SMTP host to use. The second requires the name of a JNDI Resource for a
JavaMail Session. The third requires the name of a JNDI Resource for a
JavaMail MimePartDataSource. Refer to your servlet container documentation
to determine which of these three methods you should use. During the
creation of an e-mail message, the addresses are checked for the correct
format. After the e-mail message has been created the send tag spawns a
to determine which of these three methods you should use. During the
creation of an e-mail message, the addresses are checked for the correct
format. After the e-mail message has been created the send tag spawns a
thread to send the message in the background so that the user does not have
to wait for the SMTP host if it is busy.
&lt;!-- Create a message by entering the name of the SMTP host. --&gt;
&lt;!-- The default for this attribute is localhost; for a host other --&gt;
&lt;!-- than localhost supply it's name with the server attribute --&gt;
@ -42,13 +42,13 @@ from="bar@home.net" subject="mail taglib"&gt;
&lt;mt:message&gt;[body of message]&lt;/mt:message&gt;
&lt;mt:send/&gt;
&lt;/mt:mail&gt;
How e-mail is delivered depends on the JavaMail SMTP host settings. The
JavaMail SMTP host can be configured by your Servlet Container so that
bounced or undeliverable e-mails are returned to the sender by setting the
How e-mail is delivered depends on the JavaMail SMTP host settings. The
JavaMail SMTP host can be configured by your Servlet Container so that
bounced or undeliverable e-mails are returned to the sender by setting the
folowing properties.NameTypeDescriptionmail.smtp.dsn.notifyStringProperty determines if the user will be notified of undeliverable mail.
Either NEVER, or some combination of SUCCESS, FAILURE, and DELAY
Either NEVER, or some combination of SUCCESS, FAILURE, and DELAY
(separated by commas).
mail.smtp.dsn.retStringDetermines what part of the undeliverable message will be returned in
mail.smtp.dsn.retStringDetermines what part of the undeliverable message will be returned in
the message to the sender. Either FULL or HDRS.
mail.smtp.sendpartialboolean
If set to true, and a message has some valid and some invalid addresses,
@ -249,6 +249,6 @@ How e-mail is delivered depends on the JavaMail SMTP host settings. The

View file

@ -7,10 +7,10 @@
<shortname>random</shortname>
<uri>http://jakarta.apache.org/taglibs/random-1.0</uri>
<info>
The Random tag library creates random strings and random numbers. You may
specify a set of allowable characters as well as the length for randomly
generated strings. You may specify a range of allowable integers or a
random floating point number between zero and one for randomly generated
The Random tag library creates random strings and random numbers. You may
specify a set of allowable characters as well as the length for randomly
generated strings. You may specify a range of allowable integers or a
random floating point number between zero and one for randomly generated
numbers. </info>
<tag>
<name>string</name>
@ -83,6 +83,6 @@

View file

@ -7,9 +7,9 @@
<shortname>string</shortname>
<uri>http://jakarta.apache.org/taglibs/string-1.1</uri>
<info>
The String taglibrary provides a host of tags for manipulating
java.lang.Strings. The style is that the String to act upon is the
body of the tag, and attributes are used as parameters for the
The String taglibrary provides a host of tags for manipulating
java.lang.Strings. The style is that the String to act upon is the
body of the tag, and attributes are used as parameters for the
manipulation.
</info>
<tag>

View file

@ -123,7 +123,7 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>input</name>
<display-name>Input Element Formatting</display-name>
@ -156,7 +156,7 @@
<name>labelClass</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</attribute>
<attribute>
<name>cssClass</name>
<required>false</required>
@ -218,5 +218,5 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
</taglib>

View file

@ -42,9 +42,9 @@
<!-- Listeners ****************************************************** -->
<!--
StartupManager instantiates and runs the listeners from startup_listeners.txt
All ServletContextListeners should be listed there, not here.
<!--
StartupManager instantiates and runs the listeners from startup_listeners.txt
All ServletContextListeners should be listed there, not here.
-->
<listener>
<listener-class>edu.cornell.mannlib.vitro.webapp.startup.StartupManager</listener-class>
@ -159,7 +159,7 @@
-->
<!-- ==================== mime types ============================== -->
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
@ -212,7 +212,7 @@
<extension>xml</extension>
<mime-type>application/xml</mime-type>
</mime-mapping>
<!-- ==================== tag libraries ============================== -->
<jsp-config>
<taglib>

View file

@ -15,14 +15,14 @@
<%
String conceptIdStr = request.getParameter("conceptId");
if (conceptIdStr != null) {
String describeQueryStr =
String describeQueryStr =
"PREFIX afn: <http://jena.apache.org/ARQ/function#> \n\n" +
"DESCRIBE ?bnode \n" +
"WHERE { \n" +
" FILTER(afn:bnode(?bnode) = \"" + conceptIdStr + "\")\n" +
"}";
OntModel ontModel = ModelAccess.on(getServletContext()).getOntModel(ModelNames.FULL_ASSERTIONS);
Model conceptDescription = ModelFactory.createDefaultModel();
try {
@ -30,15 +30,15 @@
Query describeQuery = QueryFactory.create(describeQueryStr, Syntax.syntaxARQ);
QueryExecution qe = QueryExecutionFactory.create(describeQuery, ontModel);
qe.execDescribe(conceptDescription);
conceptDescription.add(ontModel.listStatements((Resource) null, (Property) null, ontModel.createResource(new AnonId(conceptIdStr))));
} finally {
ontModel.leaveCriticalSection();
}
List<String> actionStrList = (request.getParameterValues("action") != null)
? Arrays.asList(request.getParameterValues("action"))
: new ArrayList<String>();
@ -54,7 +54,7 @@
conceptDescription.write(response.getOutputStream(), "TTL");
return;
}
}
%>
@ -83,7 +83,7 @@
<form action="" method="post">
<p>Concept bnode id: <input name="conceptId"/></p>
<p><input type="checkbox" name="action" value="describe"/> describe concept</p>
<p><input type="checkbox" name="action" value="remove"/> remove concept</p>
<p><input type="checkbox" name="action" value="remove"/> remove concept</p>
<p><input type="submit" value="Perform action"/></p>
</form>
</body></html>
</body></html>

View file

@ -19,16 +19,16 @@ if( request.getParameter("uri") != null ){
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <!-- gotoIndividual.jsp -->
<link rel="stylesheet" type="text/css" href="<c:url value="/${themeDir}css/screen.css"/>" media="screen"/>
<head> <!-- gotoIndividual.jsp -->
<link rel="stylesheet" type="text/css" href="<c:url value="/${themeDir}css/screen.css"/>" media="screen"/>
<link rel="stylesheet" type="text/css" href="<c:url value="/${themeDir}css/formedit.css" />" media="screen"/>
<title>Enter a URI</title>
</head>
<body class="formsEdit">
<div id="wrap">
<% /* BJL23 put this is in a catch block because it seems to fail ungracefully for
<% /* BJL23 put this is in a catch block because it seems to fail ungracefully for
some clones */ %>
<form>
@ -38,4 +38,4 @@ if( request.getParameter("uri") != null ){
</div>
</body>
</html>
</html>

View file

@ -105,7 +105,7 @@ try {
}
out.write("</table>\r\n");
out.write("<input type=submit value=\"Submit changes to logging levels\">");
out.write("</form>\n");
out.write("</form>\n");
out.write("</BODY></HTML>\r\n");
out.flush();
@ -132,4 +132,4 @@ try {
appenders.addAll( getAllAppenders(logger.getParent()));
return appenders;
}
%>
%>

View file

@ -60,15 +60,15 @@
}
return removedStmts;
}
private Model describeBnode(String bnodeId) {
String describeQueryStr =
String describeQueryStr =
"PREFIX afn: <http://jena.apache.org/ARQ/function#> \n\n" +
"DESCRIBE ?bnode \n" +
"WHERE { \n" +
" FILTER(afn:bnode(?bnode) = \"" + bnodeId + "\")\n" +
"}";
OntModel ontModel = ModelAccess.on(getServletContext()).getOntModel(ModelNames.FULL_ASSERTIONS);
Model conceptDescription = ModelFactory.createDefaultModel();
try {
@ -76,14 +76,14 @@
Query describeQuery = QueryFactory.create(describeQueryStr, Syntax.syntaxARQ);
QueryExecution qe = QueryExecutionFactory.create(describeQuery, ontModel);
qe.execDescribe(conceptDescription);
conceptDescription.add(ontModel.listStatements((Resource) null, (Property) null, ontModel.createResource(new AnonId(bnodeId))));
return conceptDescription;
} finally {
ontModel.leaveCriticalSection();
}
}
%>
@ -118,4 +118,4 @@
<form action="" method="post">
<p><input name="execute" type="submit" value="Remove now"/></p>
</form>
</body></html>
</body></html>

View file

@ -14,10 +14,10 @@
<%
String resourceURIStr = request.getParameter("resourceURI");
if (resourceURIStr != null) {
String describeQueryStr =
String describeQueryStr =
"DESCRIBE <" + resourceURIStr + ">";
OntModel ontModel = ModelAccess.on(getServletContext()).getOntModel(ModelNames.FULL_ASSERTIONS);
Model resourceDescription = ModelFactory.createDefaultModel();
try {
@ -25,15 +25,15 @@
Query describeQuery = QueryFactory.create(describeQueryStr, Syntax.syntaxARQ);
QueryExecution qe = QueryExecutionFactory.create(describeQuery, ontModel);
qe.execDescribe(resourceDescription);
resourceDescription.add(ontModel.listStatements((Resource) null, (Property) null, ontModel.getResource(resourceURIStr)));
} finally {
ontModel.leaveCriticalSection();
}
List<String> actionStrList = (request.getParameterValues("action") != null)
? Arrays.asList(request.getParameterValues("action"))
: new ArrayList<String>();
@ -49,7 +49,7 @@
resourceDescription.write(response.getOutputStream(), "TTL");
return;
}
}
%>
@ -78,8 +78,8 @@
<form action="" method="post">
<p>Resource URI: <input name="resourceURI"/></p>
<p><input type="checkbox" name="action" value="describe"/> describe resource</p>
<p><input type="checkbox" name="action" value="remove"/> remove resource</p>
<p><input type="checkbox" name="action" value="remove"/> remove resource</p>
<p><input type="submit" value="Perform action"/></p>
</form>
</body></html>
</body></html>

View file

@ -63,7 +63,7 @@ td {
<form action="sparqlquery">
<div>
<textarea id="query" name="query" rows="20" cols="111" class="maxWidth">
</textarea>
</div>
<p>

View file

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in LICENSE$ -->
<!-- VIVO-specific default list view config file for object properties
<!-- VIVO-specific default list view config file for object properties
See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config>
<query-select>
<query-select>
SELECT ?value
WHERE {
?subject ?property ?value
?subject ?property ?value
FILTER isLiteral(?value)
} ORDER BY ?value
</query-select>

View file

@ -1,41 +1,41 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in LICENSE$ -->
<!-- Default list view config file for object properties
<!-- Default list view config file for object properties
See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config>
<query-select>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
<query-select>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT <collated> ?subclass </collated>
?object
?label
?object
?label
?localName
WHERE {
?subject ?property ?object .
LET (?localName := REPLACE(STR(?object),"^.*(#)(.*)$", "$2"))
OPTIONAL {
<precise-subquery>?subject ?property ?object .</precise-subquery>
?object rdfs:label ?label .
}
<collated>
<collated>
OPTIONAL {
<precise-subquery>?subject ?property ?object .</precise-subquery>
?object a ?subclass .
# Require the subclasses retrieved to be in a classgroup, since others are not generally
# for display. See vivo-dev-all thread titled "Internal Entity and mostSpecificType,"
# Aug 9-10, 2011.
# ?subclass vitro:inClassGroup ?classgroup
}
FILTER ( REPLACE(STR(?subclass),"^(.*)(#)(.*)$", "$1$2") != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated>
# ?subclass vitro:inClassGroup ?classgroup
}
FILTER ( REPLACE(STR(?subclass),"^(.*)(#)(.*)$", "$1$2") != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated>
} ORDER BY <collated> ?subclass </collated> ASC( ?label ) ASC( ?label ) ASC( ?localName )
</query-select>

View file

@ -8,8 +8,8 @@
<list-view-config>
<query-select>
PREFIX display: &lt;http://vitro.mannlib.cornell.edu/ontologies/display/1.1#&gt;
SELECT ?menuItem
(REPLACE(STR(?menuItem),"^.*(#)(.*)$", "$2") AS ?menuItemName)
?linkText

View file

@ -7,7 +7,7 @@
line-height: 1.5em;
border: 1px dotted #E2C822;
background-color: #FFF9D7;
padding: .5em;
padding: .5em;
margin-bottom: 20px;
}
input#externalAuthChkBox {
@ -25,22 +25,22 @@ input#externalAuthChkBox {
height: 60px;
}
.account-alpha-browse {
width: 10px;
width: 10px;
height: 22px;
float: right;
padding-right: 10px;
float: right;
padding-right: 10px;
}
.sort-asc {
width: 9px;
height:10px;
padding-top: 4px;
padding-top: 4px;
background: url(../../images/account/sort-asc.gif) 0 4px no-repeat;
display: block;
}
.sort-desc {
width: 9px;
height:10px;
padding-bottom: 4px;
padding-bottom: 4px;
background: url(../../images/account/sort-desc.gif) 0 4px no-repeat;
display: block;
}
@ -126,12 +126,12 @@ padding-right: 5px;
font-style:bold;
width:280px;
margin-left:10px;
line-height:15px;
line-height:15px;
margin-top:-8px !important;
}
#associated,
#associationOptions {
float:right;
float:right;
display:none;
}
#associated label {
@ -145,7 +145,7 @@ padding-right: 5px;
margin-left:8px;
}
#associateProfileBackgroundOne {
background-color:#fff;
background-color:#fff;
padding:7px 0 5px 0;
margin-left:-8px;
margin-right:-8px;
@ -163,7 +163,7 @@ padding-right: 5px;
#associateProfileBackgroundTwo {
background-color:#f1f2ee;
padding:7px 94px 33px 0;
margin-top:-129px;
margin-top:-129px;
margin-right:-8px;
z-index:-100;
border:1px solid #ccc;
@ -177,10 +177,10 @@ padding-right: 5px;
}
#associateProfileBackgroundThree {
background-color:#f1f2ee;
padding:7px 94px 26px 12px;
margin-top:-129px;
padding:7px 94px 26px 12px;
margin-top:-129px;
margin-left:-12px;
margin-right:-8px;
margin-right:-8px;
z-index:-100;
border:1px solid #ccc;
border-left:none;
@ -195,7 +195,7 @@ padding-right: 5px;
margin-top:-3px;
margin-left:-12px;
margin-right:-8px;
z-index:-100;
z-index:-100;
border:1px solid #ccc;
border-top:none;
border-bottom-left-radius: 5px;
@ -288,7 +288,7 @@ section.proxy-profile h4 {
-webkit-border-radius: 10px;
overflow: hidden;
margin-bottom: 20px;
}
.list-proxy-profile {
background-color: #F7F7F4;
@ -322,7 +322,7 @@ section.proxy-profile h4 {
color: #7F8993;
padding-left: 25px;
height: 20px;
}
#list-relation label {
color: #064D68;
@ -341,7 +341,7 @@ p.selected-editors {
border-top: 1px solid #E0DFDF;
padding-left: 1.2em;
}
img.photo-profile,
img.photo-profile,
img.photo-proxy {
border: 1px solid #DDE4E3;
float: left;
@ -400,4 +400,4 @@ img.loading-profileMyAccoount {
span.unlinkedAccount,
a.disable-delete {
padding-left:24px;
}
}

View file

@ -50,8 +50,8 @@
font-size: 13px;
line-height: 1.3em;
padding: 25px 5px 5px 13px;
background: #fff url('../images/siteAdmin/addClassBubble.png') 0 0 no-repeat;
background: #fff url('../images/siteAdmin/addClassBubble.png') 0 0 no-repeat;
color: #797979;
padding-bottom: 0;
margin-bottom: 0;
}
}

View file

@ -39,7 +39,7 @@ ul#browse-classgroups li {
border-bottom: 1px solid #dde4e3;
font-size: 18px;
width: 200px;
line-height: 1.5em;
line-height: 1.5em;
}
ul#browse-classgroups li:last-child {
border-bottom: none
@ -51,7 +51,7 @@ ul#browse-classgroups a {
color: #5e6363;
text-decoration: none;
padding-top: 8px;
padding-bottom: 8px;
padding-bottom: 8px;
}
ul#browse-classgroups .count-classes {
font-size: 14px
@ -127,4 +127,4 @@ svg text {
}
svg rect {
cursor: pointer;
}
}

View file

@ -32,15 +32,15 @@
.individualList a.externalLink {
font-weight: normal;
}
.individualList ul {
.individualList ul {
margin-left: 0;
}
.individualList li {
.individualList li {
list-style-type: none;
margin-bottom: .5em;
}
.individualList li a {
font-weight: normal;
.individualList li a {
font-weight: normal;
margin-right: .4em;
}
.individualList .display-title {

View file

@ -19,7 +19,7 @@ table.classHierarchy .classDetail,
td.classDetail {
width:90px;
color:#064D68;
white-space: nowrap;
white-space: nowrap;
}
table.subclassTable {
margin-left:15px;

View file

@ -3,7 +3,7 @@
/* Styles for the developer panel. */
div.developer {
background-color: #f7dd8a;
background-color: #f7dd8a;
padding: 0px 10px 0px 10px;
font-variant: small-caps;
}
@ -36,12 +36,12 @@ div.developer div.within {
padding-left: 1.5em;
}
div.developer input[type="text"] {
padding: 2px 10px 2px 10px;
div.developer input[type="text"] {
padding: 2px 10px 2px 10px;
line-height: 1em;
margin: 2px 2px 2px 2px;
margin: 2px 2px 2px 2px;
}
div.developer input[type="text"]:disabled {
background-color: #f8eeae;
}

View file

@ -4,13 +4,13 @@
.div.dump {
margin-top: 1em;
border-top: 2px solid #ccc;
border-top: 2px solid #ccc;
padding-top: .75em;
}
.dump ul li.variable {
margin-bottom: .5em;
border-bottom: 1px solid #ccc;
border-bottom: 1px solid #ccc;
padding-top: .75em;
padding-bottom: .75em;
}
@ -24,13 +24,13 @@
}
.dump ul li p {
margin-bottom: .25em;
margin-bottom: .25em;
}
.dump ul li.item {
margin-bottom: 1.25em;
}
.dump ul li.item .value {
.dump ul li.item .value {
margin-left: 1.5em;
}
}

View file

@ -1,8 +1,8 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
label {
display: block;
margin-top: .5em;
display: block;
margin-top: .5em;
}
label.inline,
div.sparqlform label {
@ -48,7 +48,7 @@ form dl dt, form dl dd {
font-weight: bold;
color: #cc0000;
}
.inlineForm input,
.inlineForm input,
.inlineForm label {
display: inline;
}
@ -66,7 +66,7 @@ p.submit {
line-height: 16px;
min-height: 100px;
display: inline;
}
}
.editingForm {
margin-top: 0;
margin-bottom: 0;
@ -140,7 +140,7 @@ td.verticalfieldlabel {
}
tr.form-row-even {
background-color: #e9f0ff;
border-color: #eec;
border-color: #eec;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
border-width: 1px;
@ -148,7 +148,7 @@ tr.form-row-even {
}
tr.form-row-odd {
background-color: #e9f9ff;
border-color: #eec;
border-color: #eec;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
border-width: 1px;
@ -156,7 +156,7 @@ tr.form-row-odd {
}
.form-editingRow {
background-color: #ff9;
border-color: #eec;
border-color: #eec;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
border-width: 1px;
@ -185,7 +185,7 @@ table.form-background td form {
}
.form-table-head {
background-color: #ccf;
border-color: #eec;
border-color: #eec;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
border-width: 1px;
@ -326,12 +326,12 @@ div.adr {
display: none;
height: 0;
}
.notice{
padding: .8em;
margin-bottom: 1em;
.notice{
padding: .8em;
margin-bottom: 1em;
border: 1px solid #ddd;
display: block;
background: #FFF6BF;
background: #FFF6BF;
color: #7F7034;
}
.note {

View file

@ -5,15 +5,15 @@ span#toggleContainer {
padding:10px 8px 0 0;
font-size: 0.85em;
}
section.property-group {
section.property-group {
padding-top: 15px;
border-top:none;
border-top:none;
}
section.property-group h2 {
padding: 8px 10px 4px 12px;
section.property-group h2 {
padding: 8px 10px 4px 12px;
}
.scroll-up {
position: absolute;
position: absolute;
width: 21px;
height: 30px;
top: 8px; /* changed for redesign, was 0 */
@ -24,10 +24,10 @@ section.property-group > div {
/* display:none; */
}
section.property-group h2 {
font-size: 1.15em !important;
color: #5e6363 !important;
font-size: 1.15em !important;
color: #5e6363 !important;
font-weight: normal !important;
background: #fafaf9 !important;
background: #fafaf9 !important;
}
ul.propertyTabsList {
margin-left: 4px;
@ -70,4 +70,4 @@ li.groupTabSpacer {
}
div.additionalItems {
margin-top: 0 !important;
}
}

View file

@ -37,7 +37,7 @@
overflow: hidden;
}
#individual-intro h1 {
padding-bottom: 8px;
padding-bottom: 8px;
}
#individual-intro span.display-title {
padding-left: 10px;
@ -151,7 +151,7 @@ h1.fn .display-title {
border: 1px solid #dfebe5;
}
.scroll-up {
position: absolute;
position: absolute;
width: 21px;
height: 30px;
top: 0;
@ -275,7 +275,7 @@ input#uriLink {
a.manageLinks {
display:none;
}
a#manageLabels {
a#manageLabels {
margin-left:20px;
font-size:0.7em;
}
@ -291,7 +291,7 @@ ul.tinyMCEDisc {
ol.tinyMCENumeric {
list-style-type: decimal;
}
ul.tinyMCEDisc li,
ul.tinyMCEDisc li,
ol.tinyMCENumeric li {
padding: 0 !important;
margin-left: 30px;
@ -303,4 +303,4 @@ img.invalidFormatImg {
.invalidFormatText {
font-size:10px;
color:#A12424;
}
}

View file

@ -17,4 +17,4 @@ ul.menuItems.dragNdrop li {
}
span.controls {
float: right;
}
}

View file

@ -1,10 +1,10 @@
/* http://keith-wood.name/realPerson.html
Real Person Form Submission for jQuery v1.0.1.
Written by Keith Wood (kwood{at}iinet.com.au) June 2009.
Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
Please attribute the author if you use it. */
/* Real Person jQuery plugin styles v1.0.1. */
.realperson-challenge {
display: inline-block;
@ -28,8 +28,8 @@
text-align: center;
cursor: pointer;
}
.realpersonLabel {
display: block;
.realpersonLabel {
display: block;
}
#defaultReal {
margin-left: 20px;

File diff suppressed because one or more lines are too long

View file

@ -2,13 +2,13 @@
/* styles for log in */
#login-form label,
#login-form label,
#login-form input.text,
#login-form #password,
#login-form #confirmPassword,
#login-form label.label-remember-me,
#vivoAccountError {
display: block;
display: block;
}
#login-form p.submit {
float: left;
@ -63,8 +63,8 @@ h3.internal-auth {
margin-bottom: 0;
padding-bottom: 0;
text-decoration: none;
cursor: hand;
cursor: pointer;
cursor: hand;
cursor: pointer;
text-align: center;
line-height: 1.4em;
}
@ -87,4 +87,4 @@ p.password-note {
.or {
display: inline;
vertical-align: middle;
}
}

View file

@ -50,4 +50,4 @@ ul#selectedClasses li {
}
#error-alert{
height: auto !important;
}
}

View file

@ -73,7 +73,7 @@ ul#find-filters li {
padding-right: 15px;
border-right: 1px solid #E4EAE9;
}
ul#find-filters li:last-child {
ul#find-filters li:last-child {
border-bottom: 0;
border-right: none;
}

View file

@ -3,11 +3,11 @@
.menuFlag {
width:67px;
height:18px;
background: url("../../images/checkMark.png") no-repeat left center;
background: url("../../images/checkMark.png") no-repeat left center;
}
th#isMenuPage {
width: 86px;
}
th#iconColumns {
width: 90px;
}
}

View file

@ -2,7 +2,7 @@
.pageContent {
padding-left:6px;
padding-top:2px;
padding-top:2px;
}
.pageContentContainer {
@ -40,8 +40,8 @@
border-color:#ccc;
}
.arrow {
width:13px;
height:9px;
width:13px;
height:9px;
display:block;
}
.expandArrow {
@ -107,7 +107,7 @@ input.doneWithContent {
padding: 5px 18px 7px;
color: #fff;
text-decoration: none;
border-radius: 4px;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
position: relative;
@ -138,7 +138,7 @@ form#managePage textarea {
width:98.5%;
}
#internal-class {
padding: 10px 0 2px 10px;
padding: 10px 0 2px 10px;
background: #f0f0f0;
margin-right: .4em;
margin-bottom: .8em;

View file

@ -12,4 +12,4 @@ border:1px solid #000000;
.resultHeading {
font-weight:bold;
}
}

View file

@ -10,7 +10,7 @@
}
#revision-levels {
width: 375px;
float: left;
float: left;
}
#revision-levels caption {
padding: 10px 0 12px 0;

View file

@ -3,16 +3,16 @@
/* Search form styles */
/* Class and subclass refinement links */
.searchTOC {
margin-bottom: 1.5em;
.searchTOC {
margin-bottom: 1.5em;
}
/* Search results */
.advancedSearchForm .form-button,
.searchhits li {
.searchhits li {
margin-top: 1em;
}
.searchhits li a {
margin-right: .4em;
.searchhits li a {
margin-right: .4em;
}
p.snippet {
font-size: .8em;
@ -26,8 +26,8 @@ a:visited span.SearchTerm {
color: #7D7D7D;
}
/* bPaging links */
.searchpages {
margin-top: 2em;
.searchpages {
margin-top: 2em;
}
.searchpages a,
.searchpages span {
@ -35,12 +35,12 @@ a:visited span.SearchTerm {
margin-right: .5em;
}
.searchpages a:link,
.searchpages a:visited {
.searchpages a:visited {
text-decoration: none;
}
.searchpages a:hover,
.searchpages a:active {
text-decoration: underline;
.searchpages a:active {
text-decoration: underline;
}
.searchpages a.prev {
margin-right: 1em;
@ -87,4 +87,4 @@ img#downloadIcon {
}
.download-url {
padding: 5px 25px 5px;
}
}

View file

@ -22,7 +22,7 @@
background-color: #FFDDDD;
}
#startup-trace li.warning{
background-color: #FFFFDD;
background-color: #FFFFDD;
}
#startup-trace li.info {
background-color: #DDFFDD;

View file

@ -27,10 +27,10 @@
display: block;
padding-bottom: 10px;
}
#photoUploadForm label span {
#photoUploadForm label span {
font-size: .7em;
}
#photoUploadForm input {
#photoUploadForm input {
margin-bottom: 10px;
}
/* <------ CROP PICTURE*/
@ -76,4 +76,4 @@
}
.or {
display: inline;
}
}

View file

@ -2,13 +2,13 @@
/****************************************
Vitro base styles
Styles declared here are intended for
application-wide use.
Original version
2011-01-12 UI Team
Last updated
2011-01-13
*****************************************/
@ -21,7 +21,7 @@
display: none !important;
}
.disabledSubmit {
cursor:default ! important;
cursor:default ! important;
}
/* <------ USER FEEDBACK*/
#error-alert {
@ -35,7 +35,7 @@
float:left;
margin: 0;
padding: 0;
vertical-align: middle;
vertical-align: middle;
}
#error-alert p,
#confirmation-alert p {
@ -54,7 +54,7 @@
}
#flash-message {
background-color: #7285a0;
padding: .5em;
padding: .5em;
margin-bottom: 10px;
}
.contentNote {
@ -89,8 +89,8 @@
width:290px;
}
/* <------ SEARCH RESULTS PAGE*/
.searchTOC {
margin-bottom: 1.5em;
.searchTOC {
margin-bottom: 1.5em;
float:right;
margin-right:35px;
margin-left:45px;
@ -99,9 +99,9 @@
/* border: 1px solid #dde4e3;*/
padding-top:4px;
color: #fff;
background: #5e6363;
background: #5e6363;
}
.searchTOC h4 {
.searchTOC h4 {
color: #fff;
padding: .2em 0 .2em 0;
}
@ -157,58 +157,58 @@ a.close {
/* -------------------------------------------------> */
/* LEVEL ONE */
ul.dropdown {
position: relative;
ul.dropdown {
position: relative;
}
ul.dropdown li,
ul.language-dropdown li {
float: left;
zoom: 1;
ul.language-dropdown li {
float: left;
zoom: 1;
padding: 0 !important;
}
ul.dropdown li a,
ul.language-dropdown li a {
display: block;
ul.language-dropdown li a {
display: block;
font-size: 1.4em;
}
ul.dropdown li#user-menu {
ul.dropdown li#user-menu {
background: url(../images/arrowDownOverAccount.gif) right 9px no-repeat;
min-width:110px;
position: relative;
}
ul.dropdown li#user-menu a {
ul.dropdown li#user-menu a {
margin-right: 28px;
margin-left:10px;
}
ul.dropdown li#user-menu.hover,
ul.dropdown li#user-menu:hover,
ul.language-dropdown li#language-menu.hover,
ul.language-dropdown li#language-menu:hover {
color: #000 !important;
position: relative;
ul.language-dropdown li#language-menu:hover {
color: #000 !important;
position: relative;
background: #fff url(../images/arrowDownAccount.gif) right 9px no-repeat;
border-bottom: 1px solid #cdcfcf;
}
ul.dropdown li.hover a,
ul.dropdown li:hover a,
ul.language-dropdown li.hover a,
ul.language-dropdown li:hover a {
color: #000 !important;
ul.language-dropdown li:hover a {
color: #000 !important;
margin-left:10px;
}
/* LEVEL TWO */
ul.dropdown ul.sub_menu {
ul.dropdown ul.sub_menu {
background-color: #fff;
font-size: 1.4em;
visibility: hidden;
position: absolute;
top: 100%;
right: 0;
visibility: hidden;
position: absolute;
top: 100%;
right: 0;
z-index: 999;
color: #000;
}
ul.dropdown ul.sub_menu li {
float: none;
ul.dropdown ul.sub_menu li {
float: none;
clear: both;
padding-left: 14px !important;
width: 96px;
@ -216,91 +216,91 @@ ul.dropdown ul.sub_menu li {
border-bottom: 1px solid #cdcfcf;
background: #fff url(../images/arrowMenuAccount.gif) 7px 8px no-repeat;
}
ul.dropdown ul.sub_menu li:last-child {
ul.dropdown ul.sub_menu li:last-child {
width: 96px;
}
/* IE 6 & 7 Needs Inline Block */
/* ADD IN IE6.css and IE7.css*/
ul.dropdown ul.sub_menu li a {
width: 90%;
display: inline-block;
ul.dropdown ul.sub_menu li a {
width: 90%;
display: inline-block;
color: #000 !important;
background-color: #fff;
padding: 0;
padding-left: 0px;
height: 24px;
}
ul.dropdown ul.sub_menu li.inactive {
ul.dropdown ul.sub_menu li.inactive {
color: #aab0ae !important;
font-size: 1em !important;
padding-left: 22px !important;
width: 88px;
padding-left: 22px !important;
width: 88px;
}
ul.dropdown ul.sub_menu li a:hover,
ul.dropdown ul.sub_menu li a.hover {
ul.dropdown ul.sub_menu li a.hover {
color: #999 !important;
}
/* LEVEL THREE */
ul.dropdown ul ul {
left: 100%; top: 0;
ul.dropdown ul ul {
left: 100%; top: 0;
}
ul.dropdown li:hover > ul {
visibility: visible;
ul.dropdown li:hover > ul {
visibility: visible;
}
/* -------------------------------------------------> */
/* DROP DOWN LANGUAGE MENU ------------------------> */
/* -------------------------------------------------> */
ul.language-dropdown {
position: relative;
ul.language-dropdown {
position: relative;
}
ul.language-dropdown li#language-menu {
ul.language-dropdown li#language-menu {
background: url(../images/arrowDownOverAccount.gif) right 9px no-repeat;
min-width:110px;
position: relative;
margin-right: -10px !important;
}
ul.language-dropdown li#language-menu a {
ul.language-dropdown li#language-menu a {
margin-right: 28px;
margin-left:10px;
}
/* LEVEL TWO */
ul.language-dropdown ul.sub_menu {
ul.language-dropdown ul.sub_menu {
font-size: 1.4em;
visibility: hidden;
position: absolute;
top: 100%;
right: 0;
visibility: hidden;
position: absolute;
top: 100%;
right: 0;
z-index: 999;
color: #000;
width: 100%;
}
ul.language-dropdown ul.sub_menu li {
float: none;
ul.language-dropdown ul.sub_menu li {
float: none;
clear: both;
padding-left: 14px !important;
width: 100%;
width: 100%;
border-right: none !important;
border-bottom: 1px solid #cdcfcf;
border-bottom: 1px solid #cdcfcf;
background: #fff url('../images/arrowMenuAccount.gif') no-repeat scroll 7px 8px ;
}
/* IE 6 & 7 Needs Inline Block */
/* ADD IN IE6.css and IE7.css*/
ul.language-dropdown ul.sub_menu li a {
width: 90%;
display: inline-block;
ul.language-dropdown ul.sub_menu li a {
width: 90%;
display: inline-block;
color: #000 !important;
background-color: #fff url('../images/arrowMenuAccount.gif') no-repeat scroll 7px 8px ;
padding: 0;
padding-left: 0;
height: 24px;
}
ul.language-dropdown ul.sub_menu li.inactive {
ul.language-dropdown ul.sub_menu li.inactive {
color: #aab0ae !important;
font-size: 1em !important;
width: 88px;
}
ul.language-dropdown ul.sub_menu li a:hover,
ul.language-dropdown ul.sub_menu li a.hover {
ul.language-dropdown ul.sub_menu li a.hover {
color: #999 !important;
opacity: 0.6;
filter: alpha(opacity=60); /* For IE8 and earlier */
@ -327,7 +327,7 @@ p#mngLabelsText {
margin-bottom:12px;
}
/* SEARCH HOME------> */
/* SEARCH HOME------> */
#search-home {
margin-top: 2em;
width: 570px;
@ -373,10 +373,10 @@ a.filter-search {
display: inline-block;
width: 39px;
height: 43px;
z-index: 9999;
z-index: 9999;
top: 0;
right: 135px;
z-index: 9999;
z-index: 9999;
}
.filter-default {
@ -389,7 +389,7 @@ a.filter-search {
width: 184px;
top: 0;
right: 135px;
z-index: 9998;
z-index: 9998;
display: none;
list-style-type: none;
}
@ -430,7 +430,7 @@ a.filter-search {
text-align: center;
margin-left: 35px;
padding: 0;
line-height: 35px;
line-height: 35px;
}
#home-stats h4 {
display: inline;

View file

@ -8,7 +8,7 @@
<%@page import="org.apache.commons.logging.Log"%>
<%@page import="org.apache.commons.logging.LogFactory"%>
<%
// We have seen that this page can throw its own error.
// We have seen that this page can throw its own error.
// Before it does so, be sure that we have written the original error to the log.
Object c = request.getAttribute("javax.servlet.jsp.jspException");
if (c instanceof Throwable) {
@ -16,12 +16,12 @@
Log log = LogFactory.getLog(this.getClass());
log.error("Error: ", cause);
}
VitroRequest vreq = new VitroRequest(request);
ApplicationBean appBean = vreq.getAppBean();
String themeDir = appBean.getThemeDir();
String themeDir = appBean.getThemeDir();
request.setAttribute("bodyJsp", "/errorbody.jsp");
request.setAttribute("title", "Error");
request.setAttribute("css", "");
@ -36,7 +36,7 @@
<body> <!-- generated by error.jsp -->
<div id="wrap">
<jsp:include page="/templates/page/freemarkerTransition/identity.jsp" flush="true"/>
<div id="contentwrap">
<jsp:include page="/templates/page/freemarkerTransition/menu.jsp" flush="true"/>
<p>There was an error in the system; please try again later.</p>
@ -66,4 +66,4 @@
<jsp:include page="/templates/page/freemarkerTransition/footer.jsp" flush="true"/>
</div> <!-- wrap -->
</body>
</html>
</html>

View file

@ -77,7 +77,7 @@ imageUpload.errorUnrecognizedFileType = ''{0}'' is not a recognized image file t
imageUpload.errorNoPhotoSelected = Please browse and select a photo.
imageUpload.errorBadMultipartRequest = Failed to parse the multi-part request for uploading an image.
imageUpload.errorFormFieldMissing = The form did not contain a ''{0}'' field."
#
# User Accounts pages
#

View file

@ -12,6 +12,6 @@
# means that any individual of type foaf:Person will be represented by
# person.thumbnail.jpg
#
# NOTE: a colon is a special character in a properties file, and must be escaped
# NOTE: a colon is a special character in a properties file, and must be escaped
# by a backslash.

View file

@ -20,34 +20,34 @@
<form action="csv2rdf" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="csv2rdf"/>
<p><input type="radio" name="separatorChar" value="comma" checked="checked"/> comma separated
<p><input type="radio" name="separatorChar" value="comma" checked="checked"/> comma separated
<input type="radio" name="separatorChar" value="tab"/> tab separated </p>
<input type="text" style="width:80%;" name="csvUrl"/>
<p>CSV file URL (e.g. "file:///")</p>
<p>Or upload a file from your computer:</p>
<p><input type="file" name="filePath" /></p>
<p/>
<p>This tool will automatically generate a mini ontology to represent the
data in the CSV file. A property will be produced for each column in the
spreadsheet, based on the text in the header for that column.</p><p>In what
<p>This tool will automatically generate a mini ontology to represent the
data in the CSV file. A property will be produced for each column in the
spreadsheet, based on the text in the header for that column.</p><p>In what
namespace should these properties be created?</p>
<input type="text" name="tboxNamespace"/>
<p>Namespace in which to generate properties</p>
<!--
<!--
<input type="checkbox" name="discardTbox"/> do not add TBox or RBox to result model
-->
<p>
<p>Each row in the spreadsheet will produce a resource. Each of these
resources will be a member of a class in the namespace selected above.</p>
<p>What should the local name of this class be? This is normally a word or two
in "camel case" starting with an uppercase letter. (For example, if the
spreadsheet represents a list of faculty members, you might enter
"FacultyMember" on the next line.)</p>
resources will be a member of a class in the namespace selected above.</p>
<p>What should the local name of this class be? This is normally a word or two
in "camel case" starting with an uppercase letter. (For example, if the
spreadsheet represents a list of faculty members, you might enter
"FacultyMember" on the next line.)</p>
<input type="text" name="typeName"/>
<p>Class Local Name for Resources</p>

View file

@ -39,30 +39,30 @@ function disableProperties(){
<input type="hidden" name="action" value="renameBNodesURISelect"/>
<h3>Select URI prefix</h3>
<p>URIs will be constructed using the following base string:</p>
<input id="namespace" type="text" style="width:65%;" name="namespaceEtcStr"/>
<input id="namespace" type="text" style="width:65%;" name="namespaceEtcStr"/>
<p/>
<p>Each resource will be assigned a URI by taking the above string and
<p>Each resource will be assigned a URI by taking the above string and
adding either a random integer, or a string based on the value of one of the
the properties of the resource</p>
<input type="radio" value="integer" name="concatenate" checked="checked" onclick="disableProperties()">Use random integer</input>
<br></br>
<input type="radio" value="pattern" name="concatenate" onclick="selectProperties()">Use pattern based on values of </input>
<input type="radio" value="pattern" name="concatenate" onclick="selectProperties()">Use pattern based on values of </input>
<% Map<String,LinkedList<String>> propertyMap = (Map) request.getAttribute("propertyMap");
Set<Entry<String,LinkedList<String>>> set = propertyMap.entrySet();
Iterator<Entry<String,LinkedList<String>>> itr = set.iterator();
Entry<String, LinkedList<String>> entry = null;
%>
<select name="property" id="properties" disabled="disabled">
<% while(itr.hasNext()){%>
<%entry = itr.next();
Iterator<String> listItr = entry.getValue().iterator();
%>
@ -73,18 +73,18 @@ function disableProperties(){
<br></br>
<p>Enter a pattern using $$$ as the placeholder for the value of the property selected above.</p>
<p>For example, entering dept_$$$ might generate URIs with endings such as dept_Art or dept_Classics.</p>
<input id="pattern" disabled="disabled" type="text" style="width:35%;" name="pattern"/>
<input id="pattern" disabled="disabled" type="text" style="width:35%;" name="pattern"/>
<input type="hidden" name="destinationModelName" value="${destinationModelName}"/>
<input type="hidden" name="csv2rdf" value="${csv2rdf}"/>
<c:forEach var="sourceModelValue" items="${sourceModel}">
<input type="hidden" name="sourceModelName" value="${sourceModelValue}"/>
</c:forEach>
<p/>
<input class="submit" type="submit" value="Convert CSV"/>
</form>

View file

@ -20,9 +20,9 @@
<input type="hidden" name="action" value="executeWorkflow"/>
<h3>Workflow</h3>
<select name="workflowURI">
<%
OntModel jenaOntModel = ModelAccess.on(getServletContext()).getOntModel();
jenaOntModel.enterCriticalSection(Lock.READ);
@ -39,5 +39,5 @@
}
%>
</select>
<input class="submit" type="submit" value="Next &gt;"/>

View file

@ -19,13 +19,13 @@
<li style="list-style-type:none;"><input type="radio" name="subgraph" value="abox"/> All Instance data (ABox) for the application</li>
<%VitroRequest vreq = new VitroRequest(request);
OntologyDao daoObj = vreq.getUnfilteredWebappDaoFactory().getOntologyDao();
List ontologiesObj = daoObj.getAllOntologies();
List ontologiesObj = daoObj.getAllOntologies();
if(ontologiesObj !=null && ontologiesObj.size()>0){
Iterator ontItr = ontologiesObj.iterator();
while(ontItr.hasNext()){
Ontology ont = (Ontology) ontItr.next();%>
<li style="list-style-type:none;"><input type="radio" name="subgraph" value=<%=ont.getURI()%>/> <%=ont.getName()%> (TBox)</li>
<%}}%>
<%}}%>
</ul>
<hr/>
<ul>

View file

@ -32,8 +32,8 @@
<h3>Select Destination Model for Generated TBox</h3>
<select name="destinationModelName">
<option value="vitro:baseOntModel"/>webapp assertions</option>
<option value="vitro:jenaOntModel"/>webapp model</option>
<option value="vitro:baseOntModel"/>webapp assertions</option>
<option value="vitro:jenaOntModel"/>webapp model</option>
<c:forEach var="modelName" items="${modelNames}">
<option value="${modelName}"/>${modelName}</option>
</c:forEach>

View file

@ -23,7 +23,7 @@
<li><a href="ingest?action=renameBNodes" title="Convert blank nodes to named resources">Name Blank Nodes</a></li>
<li><a href="ingest?action=smushSingleModel" title="Convert all existing URIs for a resource to a single URI">Smush Resources</a></li>
<li><a href="ingest?action=mergeResources" title="Merge two resources into one">Merge Resources</a></li>
<li><a href="ingest?action=renameResource" title="Change the namespace of resources currently in a specified namespace">Change Namespace of Resources</a></li>
<li><a href="ingest?action=renameResource" title="Change the namespace of resources currently in a specified namespace">Change Namespace of Resources</a></li>
<li><a href="ingest?action=processStrings" title="Process property value strings">Process Property Value Strings</a></li>
<li><a href="ingest?action=splitPropertyValues" title="Split property value strings into multiple property values using a regular expression pattern">Split Property Value Strings into Multiple Property Values</a></li>
</ul>

View file

@ -45,7 +45,7 @@ function init(){
<input type="hidden" name="modelType" value="${modelType}"/>
<input type="submit" name="submit" value="Create Model"/>
</form>
Currently showing <font color="red">${infoLine}</font>
<ul>
<c:forEach var="modelName" items="${modelNames}">
@ -103,7 +103,7 @@ function init(){
<td>
<form action="ingest" method="get">
<input type="hidden" name="action" value="permanentURI" />
<input type="hidden" name="modelName" value="${modelName}" />
<input type="hidden" name="modelName" value="${modelName}" />
<input type="hidden" name="modelType" value="${modelType}"/>
<input type="submit" name="submit" value="generate permanent URIs" /></form>
</td>

View file

@ -24,4 +24,4 @@
<br></br>
<br></br>
<p><input class="submit" type="submit" name="submit" value="Load Data" /></p>
</form>
</form>

View file

@ -17,13 +17,13 @@
<h2><a class="ingestMenu" href="ingest">Ingest Menu</a> > Merge Resources</h2>
<p>This tool allows two resources with different URIs to be collapsed into a
single URI. Any statements using the "duplicate resource URI" will be
rewritten using the "primary resource URI." If there are multiple
<p>This tool allows two resources with different URIs to be collapsed into a
single URI. Any statements using the "duplicate resource URI" will be
rewritten using the "primary resource URI." If there are multiple
statements for a property that can have only a single value, the extra
statements will be retracted from the model and offered for download.</p>
<p>This tool operates on the main web application model only, not on any
of the additional Jena models.</p>
<p>This tool operates on the main web application model only, not on any
of the additional Jena models.</p>
<form id="takeuri" action="ingest" method="get">
<input type="hidden" name="action" value="mergeResources"/>

View file

@ -19,11 +19,11 @@
<p><b><%=result%></b></p>
<%if(!result.equals("resource 1 not present") && !result.equals("resource 2 not present")){
<%if(!result.equals("resource 1 not present") && !result.equals("resource 2 not present")){
if(!result.equals("No statements merged") && !result.endsWith("statements.")){%>
<p>Download non-mergeable statements.</p>
<form action="ingest" method="get">
<input type="hidden" name="action" value="mergeResult"/>
<input class="submit" type="submit" name="Download" value="Download" ></input>
</form>
<%}} %>
<input class="submit" type="submit" name="Download" value="Download" ></input>
</form>
<%}} %>

View file

@ -6,4 +6,4 @@
<h2>Individual Not Found</h2>
<p>The individual was not found in the system.</p>
<p>The individual was not found in the system.</p>

View file

@ -15,19 +15,19 @@
<h2><a class="ingestMenu" href="ingest">Ingest Menu</a> > Assign Permanent URIs To Resources</h2>
<p>This tool will rename the resources in the selected model to with new
randomly-generated URIs following the pattern used in the main application.
The tool will generate URIs that are not already in use in the main web
application model. Statements using the newly-renamed resources will be
written to the "model to save."</p>
randomly-generated URIs following the pattern used in the main application.
The tool will generate URIs that are not already in use in the main web
application model. Statements using the newly-renamed resources will be
written to the "model to save."</p>
<p>The permanent URIs may be generated in an arbitrary "new namespace for
<p>The permanent URIs may be generated in an arbitrary "new namespace for
resources." Otherwise, the "use default namespace" option will generate
URIs exactly of the form created through the GUI interface.</p>
<form action="ingest" method="get" >
<input type="hidden" name="oldModel" value="${modelName}"/>
<input type="hidden" name="action" value="permanentURI" />
<p>Current namespace of resources
<p>Current namespace of resources
<select name=oldNamespace>
<%List namespaces = (List)request.getAttribute("namespaceList");
if(namespaces != null) {

View file

@ -21,7 +21,7 @@
<input type="text" style="width:80%;" name="className"/>
<p>String processor class</p>
<input type="text" name="methodName"/>
<p>String processor method</p>
@ -38,7 +38,7 @@
</select>
<input type="checkbox" name="processModel" value="TRUE"/> apply changes directly to this model
<p>model to use</p>
<select name="additionsModel">
<option value="">none</option>
<forEach var="modelName" items="${modelNames}">

View file

@ -37,27 +37,27 @@ function disableProperties(){
<input type="hidden" name="action" value="renameBNodesURISelect"/>
<h3>Select URI prefix</h3>
<c:if test="${!empty errorMsg}">
<p class="notice">${errorMsg}</p>
</c:if>
<p>URIs will be constructed using the following base string:</p>
<input id="namespace" type="text" style="width:65%;" name="namespaceEtcStr"/>
<input id="namespace" type="text" style="width:65%;" name="namespaceEtcStr"/>
<p/>
<c:choose>
<c:when test="${enablePropertyPatternURIs}">
<p>Each resource will be assigned a URI by taking the above string and
<c:when test="${enablePropertyPatternURIs}">
<p>Each resource will be assigned a URI by taking the above string and
adding either a random integer, or a string based on the value of one of the
the properties of the resource</p>
<input type="radio" value="integer" name="concatenate" checked="checked" onclick="disableProperties()">Use random integer</input>
<br></br>
<input type="radio" value="pattern" name="concatenate" onclick="selectProperties()">Use pattern based on values of </input>
<input type="radio" value="pattern" name="concatenate" onclick="selectProperties()">Use pattern based on values of </input>
<% Map<String,LinkedList<String>> propertyMap = (Map) request.getAttribute("propertyMap");
Set<Entry<String,LinkedList<String>>> set = propertyMap.entrySet();
Iterator<Entry<String,LinkedList<String>>> itr = set.iterator();
@ -66,7 +66,7 @@ function disableProperties(){
<%if(itr.hasNext()){%>
<select name="property" id="properties" disabled="disabled">
<% while(itr.hasNext()){%>
<%entry = itr.next();
Iterator<String> listItr = entry.getValue().iterator();
%>
@ -77,21 +77,21 @@ function disableProperties(){
<br></br>
<p>Enter a pattern using $$$ as the placeholder for the value of the property selected above.</p>
<p>For example, entering dept_$$$ might generate URIs with endings such as dept_Art or dept_Classics.</p>
<input id="pattern" disabled="disabled" type="text" style="width:35%;" name="pattern"/>
<input id="pattern" disabled="disabled" type="text" style="width:35%;" name="pattern"/>
</c:when>
<c:otherwise>
<p>Each resource will be assigned a URI by taking the above string and
<p>Each resource will be assigned a URI by taking the above string and
adding a random integer.</p>
<input type="hidden" value="integer" name="concatenate"/>
</c:otherwise>
</c:choose>
<c:forEach var="sourceModelValue" items="${sourceModel}">
<input type="hidden" name="sourceModelName" value="${sourceModelValue}"/>
</c:forEach>
<h3>Select Destination Model</h3>
<select name="destinationModelName">
@ -102,6 +102,6 @@ function disableProperties(){
</select>
<input class="submit" type="submit" value="Rename Blank Nodes"/>
</form>

View file

@ -16,12 +16,12 @@
<h2><a class="ingestMenu" href="ingest">Ingest Menu</a> > Change Namespace of Resources</h2>
<p>This tool will change all resources in the supplied "old namespace"
<p>This tool will change all resources in the supplied "old namespace"
to be in the "new namespace." Additionally, if the local names do not
already follow the established "n" + random integer naming convention,
already follow the established "n" + random integer naming convention,
they will be updated to this format.</p>
<p>This tool operates on the main web application model only, not on any
<p>This tool operates on the main web application model only, not on any
of the additional Jena models.</p>
<c:if test="${!empty errorMsg}">
@ -33,4 +33,4 @@ they will be updated to this format.</p>
<p>Old namespace: <input id="uri1" type="text" size="52" name="oldNamespace" value="${oldNamespace}" /></p>
<p>New namespace: <input id="uri2" type="text" size="52" name="newNamespace" value="${newNamespace}" /></p>
<p><input id="submit" type="submit" name="submit" value="Change namespace" /></p>
</form>
</form>

View file

@ -10,4 +10,4 @@
<h2><a class="ingestMenu" href="ingest">Ingest Menu</a> > Rename Resource</h2>
<%String result = (String) request.getAttribute("result");%>
<p><b><%=result%></b></p>
<p><b><%=result%></b></p>

View file

@ -13,14 +13,14 @@
<%@page import="edu.cornell.mannlib.vitro.webapp.auth.permissions.SimplePermission" %>
<% request.setAttribute("requestedActions", SimplePermission.USE_ADVANCED_DATA_TOOLS_PAGES.ACTION); %>
<vitro:confirmAuthorization />
<h2><a class="ingestMenu" href="ingest">Ingest Menu</a> > Smush Resources</h2>
<form action="ingest" method="get"i>
<input type="hidden" name="action" value="smushSingleModel"/>
<h3>URI of Property with which To Smush
<input type="text" style="width:40%;" name="propertyURI"/>
<input type="text" style="width:40%;" name="propertyURI"/>
<h3>Select Source Models</h3>

View file

@ -64,7 +64,7 @@
jenaOntModel.leaveCriticalSection();
}
%>
</select>
</select>
<textarea rows="25" cols="40" name="sparqlQueryStr" class="maxWidth"><c:choose>
<c:when test="${param.sparqlQueryStr != null}">
@ -85,7 +85,7 @@ if(prefixes != null){
String prefixText = (String) prefixItr.next();
if(prefixText.equals("(not yet specified)")){
count++;
prefixText = "p." + count.toString();
prefixText = "p." + count.toString();
}
String urlText = (String) prefixItr.next();%>
PREFIX <%=prefixText%>: <<%=urlText%>><%}}%>
@ -138,7 +138,7 @@ PREFIX <%=prefixText%>: <<%=urlText%>><%}}%>
checked="checked" <%
}
%> /><%=modelName%></li>
<%
<%
}
%>
</ul>
@ -171,8 +171,8 @@ PREFIX <%=prefixText%>: <<%=urlText%>><%}}%>
selected="selected" <%
}
%> /><%=modelName%></option>
<%
<%
}
%>
</select>
</select>
<input id="submit" type="submit" value="Execute CONSTRUCT" />

View file

@ -27,22 +27,22 @@
</c:forEach>
</ul>
<input type="text" name="propertyURI"/>
<p>Property URI for which Values Should Be Split</p>
<p>Property URI for which Values Should Be Split</p>
<input type="text" name="splitRegex"/>
<p>Regex Pattern on which To Split</p>
<input type="text" name="newPropertyURI"/>
<p>Property URI To Be Used with the Newly-Split Values</p>
<h3></h3>
<p>
<input type="checkbox" name="trim" value="true"/> trim bordering whitespace
</p>
<h3>Select Destination Model</h3>
<select name="destinationModelName">

View file

@ -20,11 +20,11 @@
<input type="hidden" name="action" value="executeWorkflow"/>
<h3>Choose a Workflow Step at Which To Start</h3>
<input type="hidden" name="workflowURI" value="${param.workflowURI}"/>
<select name="workflowStepURI">
<%
OntModel jenaOntModel = ModelAccess.on(getServletContext()).getOntModel();
jenaOntModel.enterCriticalSection(Lock.READ);
@ -42,5 +42,5 @@
}
%>
</select>
<input id="submit" type="submit" value="Execute Workflow"/>

View file

@ -13,11 +13,11 @@
<h2><a class="ingestMenu" href="ingest">Ingest Menu</a> > Load XML and convert to RDF</h2>
<form action="jenaXmlFileUpload" method="post" enctype="multipart/form-data">
<input type="file" name="xmlfile"/>
<p>XML file</p>
<select name="targetModel">
<option value="vitro:baseOntModel">webapp assertions</option>
<c:forEach var="modelName" items="${modelNames}">
@ -29,4 +29,4 @@
<input id="submit" type="submit" name="submit" value="upload XML and convert to RDF"/>
</form>

View file

@ -4,17 +4,17 @@ var associateProfileFields = {
onLoad: function() {
if (this.disableFormInUnsupportedBrowsers()) {
return;
}
}
this.mixIn();
this.initObjectReferences();
this.initObjectReferences();
this.bindEventListeners();
this.setInitialState();
this.setInitialState();
},
disableFormInUnsupportedBrowsers: function() {
disableFormInUnsupportedBrowsers: function() {
var disableWrapper = $('#ie67DisableWrapper');
// Check for unsupported browsers only if the element exists on the page
if (disableWrapper.length) {
if (vitro.browserUtils.isIELessThan8()) {
@ -22,17 +22,17 @@ var associateProfileFields = {
$('.noIE67').hide();
return true;
}
}
return false;
}
return false;
},
mixIn: function() {
$.extend(this, associateProfileFieldsData);
},
initObjectReferences: function() {
this.form = $('#userAccountForm');
// The external auth ID field and messages
this.externalAuthIdField = $('#externalAuthId');
this.externalAuthIdInUseMessage = $('#externalAuthIdInUse');
@ -43,12 +43,12 @@ var associateProfileFields = {
this.verifyAssociatedProfileLink = $('#verifyProfileLink');
this.changeAssociatedProfileLink = $('#changeProfileLink');
this.associatedProfileUriField = $('#associatedProfileUri')
// We want to associate a profile
this.associationOptionsArea = $('#associationOptions');
this.associateProfileNameField = $('#associateProfileName');
this.newProfileClassSelector = $('#newProfileClassUri');
// Container <div> elements to provide background shading -- tlw72
this.associateProfileBackgroundOneArea = $('#associateProfileBackgroundOne');
},
@ -57,32 +57,32 @@ var associateProfileFields = {
this.idCache = {};
this.externalAuthIdField.change(function() {
associateProfileFields.externalAuthIdFieldHasChanged();
});
});
this.externalAuthIdField.keyup(function() {
associateProfileFields.externalAuthIdFieldHasChanged();
});
});
this.externalAuthIdField.bind("propertychange", function() {
associateProfileFields.externalAuthIdFieldHasChanged();
});
});
this.externalAuthIdField.bind("input", function() {
associateProfileFields.externalAuthIdFieldHasChanged();
});
this.verifyAssociatedProfileLink.click(function() {
associateProfileFields.openVerifyWindow();
return false;
});
});
this.changeAssociatedProfileLink.click(function() {
associateProfileFields.showAssociatingOptionsArea();
return false;
});
});
this.newProfileClassSelector.change(function() {
associateProfileFields.newProfileClassHasChanged();
});
this.acCache = {};
this.acCache = {};
this.associateProfileNameField.autocomplete({
minLength: 3,
source: function(request, response) {
@ -97,22 +97,22 @@ var associateProfileFields = {
action: "autoCompleteProfile",
term: request.term,
externalAuthId: associateProfileFields.externalAuthIdField.val()
},
},
complete: function(xhr, status) {
var results = jQuery.parseJSON(xhr.responseText);
associateProfileFields.acCache[request.term] = results;
associateProfileFields.acCache[request.term] = results;
response(results);
}
});
},
select: function(event, ui) {
associateProfileFields.showAssociatedProfileArea(ui.item.label, ui.item.uri, ui.item.url);
associateProfileFields.showAssociatedProfileArea(ui.item.label, ui.item.uri, ui.item.url);
}
});
},
setInitialState: function() {
if (this.externalAuthIdField.val().length == 0) {
this.hideAllOptionals();
@ -122,15 +122,15 @@ var associateProfileFields = {
this.showAssociatingOptionsArea();
}
},
externalAuthIdFieldHasChanged: function() {
var externalAuthId = this.externalAuthIdField.val();
if (externalAuthId.length == 0) {
this.hideAllOptionals();
return;
}
if (externalAuthId in this.idCache) {
var results = this.idCache[externalAuthId];
this.applyAjaxResultsForExternalAuthIdField(results)
@ -147,7 +147,7 @@ var associateProfileFields = {
},
complete: function(xhr, status) {
var results = $.parseJSON(xhr.responseText);
associateProfileFields.idCache[externalAuthId] = results;
associateProfileFields.idCache[externalAuthId] = results;
associateProfileFields.applyAjaxResultsForExternalAuthIdField(results);
}
});
@ -162,11 +162,11 @@ var associateProfileFields = {
this.showAssociatingOptionsArea();
}
},
openVerifyWindow: function() {
window.open(this.verifyUrl, 'verifyMatchWindow', 'width=640,height=640,scrollbars=yes,resizable=yes,status=yes,toolbar=no,menubar=no,location=no');
},
newProfileClassHasChanged: function() {
if (this.newProfileClassSelector.val().length == 0) {
this.associateProfileNameField.attr("disabled",false);
@ -175,24 +175,24 @@ var associateProfileFields = {
this.associateProfileNameField.attr("disabled","disabled");
}
},
hideAllOptionals: function() {
this.hideExternalAuthInUseMessage();
this.hideAssociatedProfileArea();
this.hideAssociatingOptionsArea();
},
hideExternalAuthInUseMessage: function() {
this.externalAuthIdInUseMessage.hide();
},
hideAssociatedProfileArea: function() {
this.associatedArea.hide();
this.associateProfileBackgroundOneArea.css("background-color","#fff");
this.associateProfileBackgroundOneArea.css("border","none");
this.associatedProfileUriField.val('');
},
hideAssociatingOptionsArea: function() {
this.associationOptionsArea.hide();
this.associateProfileBackgroundOneArea.css("background-color","#fff");
@ -200,14 +200,14 @@ var associateProfileFields = {
this.associateProfileNameField.val('');
this.newProfileClassSelector.get(0).selectedIndex = 0;
},
showExternalAuthInUseMessage: function() {
this.hideAssociatedProfileArea();
this.hideAssociatingOptionsArea();
this.externalAuthIdInUseMessage.show();
},
showAssociatedProfileArea: function(name, uri, url) {
this.hideExternalAuthInUseMessage();
this.hideAssociatingOptionsArea();
@ -221,7 +221,7 @@ var associateProfileFields = {
this.associateProfileBackgroundOneArea.css("border","1px solid #ccc");
}
},
showAssociatingOptionsArea: function() {
this.hideExternalAuthInUseMessage();
this.hideAssociatedProfileArea();
@ -233,10 +233,10 @@ var associateProfileFields = {
this.associateProfileBackgroundOneArea.css("border","1px solid #ccc");
}
}
}
$(document).ready(function() {
$(document).ready(function() {
associateProfileFields.onLoad();
});
});

View file

@ -1,7 +1,7 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
// Change form actions in account main page
$(document).ready(function(){
// The externalAuthOnly checkbox drives the display of the password and re-set
@ -15,7 +15,7 @@ $(document).ready(function(){
$('input[name=confirmPassword]').val("");
$('input[name=initialPassword]').val("");
$('input[name=newPassword]').val("");
}
}
else {
// if not checked, display them
$('#passwordContainer').removeClass('hidden');
@ -23,4 +23,4 @@ $(document).ready(function(){
}
});
});
});

View file

@ -1,17 +1,17 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
// Sets up event listeners so that the submit button gets enabled only if the user has changed
// an existing value.
//
// Used with both the userAccounts--myAccounts.ftl and userAccounts--edit.ftl.
$(document).ready(function(){
var theForm = $('form').last();
var theSubmitButton = theForm.find(':submit');
theSubmitButton.addClass("disabledSubmit");
function disableSubmit() {
theSubmitButton.removeAttr('disabled');
theSubmitButton.removeClass("disabledSubmit");
@ -35,7 +35,7 @@ $(document).ready(function(){
disableSubmit()
});
});
$('.remove-proxy').click(function(){
disableSubmit()
})

View file

@ -4,32 +4,32 @@
* A collection of building blocks for the proxy-management UI.
*/
/*
/*
* ----------------------------------------------------------------------------
* itemElement
* ----------------------------------------------------------------------------
* Display information about an entity according to the template. The entity
* Display information about an entity according to the template. The entity
* can be either:
* a profile -- Individual to be edited.
* a proxy -- User Account to do the editing, optionally with info from a
* a proxy -- User Account to do the editing, optionally with info from a
* profile associated with that individual.
*
*
* You provide:
* template -- the HTML text that determines how the element should look.
* template -- the HTML text that determines how the element should look.
* The template must be a single HTML element, which may contain
* any number of sub-elements. It needs to have a single outer
* wrapper, however.
* uri, label, classLabel, imageUrl -- as described below
* remove -- a function that we can call when the user clicks on the remove
* remove -- a function that we can call when the user clicks on the remove
* link or button. We will pass a reference to this struct.
* ----------------------------------------------------------------------------
* The template must inlude a link or button with attribute templatePart="remove"
*
*
* The template may include tokens to be replaced, from the following:
* %uri% -- the URI of the individual being displayed
* %uri% -- the URI of the individual being displayed
* %label& -- the label of the individual.
* %classLabel% -- the label of the most specific class of the individual.
* %imageUrl% -- the URL that will fetch the image of the individual,
* %imageUrl% -- the URL that will fetch the image of the individual,
* or a placeholder image.
* ----------------------------------------------------------------------------
* This relies on magic names for the styles:
@ -40,13 +40,13 @@
*/
function itemElement(template, uri, label, classLabel, imageUrl, removeInfo) {
var self = this;
this.uri = uri;
this.label = label;
this.classLabel = classLabel;
this.imageUrl = imageUrl;
this.removeInfo = removeInfo;
this.toString = function() {
return "itemElement: " + content;
}
@ -56,7 +56,7 @@ function itemElement(template, uri, label, classLabel, imageUrl, removeInfo) {
.replace(/%label%/g, this.label)
.replace(/%classLabel%/g, this.classLabel)
.replace(/%imageUrl%/g, this.imageUrl);
var element = $(content);
element.addClass("proxyInfoElement");
@ -71,23 +71,23 @@ function itemElement(template, uri, label, classLabel, imageUrl, removeInfo) {
}
/*
/*
* ----------------------------------------------------------------------------
* proxyAutoComplete
* ----------------------------------------------------------------------------
* Attach the autocomplete funcionality that we like in proxy panels.
*
* Attach the autocomplete funcionality that we like in proxy panels.
*
* You provide:
* parms -- a map containing the URL and the action code needed for the AJAX call.
* excludedUris -- these URIs are always filtered out of the results.
* getProxyInfos -- a function that will return an array of itemElements
* that are already present in the list and so should be filtered out of
* that are already present in the list and so should be filtered out of
* the autocomplete response.
* addProxyInfo -- a function that we can call when an item is selected.
* It will take the selection info, build an itemElement, and add
* It will take the selection info, build an itemElement, and add
* it to the panel.
* reportSearchStatus -- a function that we can call when a search is done. It
* will accept the length of the search term and the number of results,
* will accept the length of the search term and the number of results,
* and will display it in some way.
* ----------------------------------------------------------------------------
* The AJAX request will include a "term" parameter, set to the current search term.
@ -101,7 +101,7 @@ function itemElement(template, uri, label, classLabel, imageUrl, removeInfo) {
*/
function proxyAutocomplete(parms, excludedUris, getProxyInfos, addProxyInfo, reportSearchStatus) {
var cache = [];
var filterResults = function(parsed) {
var filtered = [];
var existingUris = $.map(getProxyInfos(), function(p) {
@ -122,12 +122,12 @@ function proxyAutocomplete(parms, excludedUris, getProxyInfos, addProxyInfo, rep
}
this.minLength = 0,
this.source = function(request, response) {
if (request.term.length < 3) {
sendResponse(request, response, []);
return;
}
}
if (request.term in cache) {
sendResponse(request, response, filterResults(cache[request.term]));
return;
@ -141,12 +141,12 @@ function proxyAutocomplete(parms, excludedUris, getProxyInfos, addProxyInfo, rep
},
complete: function(xhr, status) {
var results = $.parseJSON(xhr.responseText);
cache[request.term] = results;
cache[request.term] = results;
sendResponse(request, response, filterResults(results));
}
});
}
this.select = function(event, ui) {
addProxyInfo(ui.item);
event.preventDefault();

View file

@ -4,18 +4,18 @@
* ----------------------------------------------------------------------------
* proxyItemsPanel
* ----------------------------------------------------------------------------
* Display an AJAX-enabled list of proxy-related items (either proxies or
* profiles).
*
* The list may start out with a population of items. items may be added by
* Display an AJAX-enabled list of proxy-related items (either proxies or
* profiles).
*
* The list may start out with a population of items. items may be added by
* selecting them in the auto-complete box. Items may be removed by clicking
* the "remove" link next to that item.
*
*
* A hidden field will hold the URI for each item, so when the form is submitted,
* the controller can determine the list of items.
* ----------------------------------------------------------------------------
* You provide:
* p -- the DOM element that contains the template and the data.
* p -- the DOM element that contains the template and the data.
* It also contains the autocomplete field, with a status element and
* perhaps 1 or more excluded URIs
* ----------------------------------------------------------------------------
@ -43,14 +43,14 @@ function proxyItemsPanel(panel, contextInfo) {
this.displayItemData = function() {
$(".proxyInfoElement", dataContainerElement).remove();
for (i = 0; i < self.itemData.length; i++) {
self.itemData[i].element().appendTo(dataContainerElement);
}
}
var getItemData = function() {
return self.itemData;
return self.itemData;
}
this.removeItem = function(info) {
@ -65,7 +65,7 @@ function proxyItemsPanel(panel, contextInfo) {
}
this.addItemData = function(selection) {
var info = new itemElement(self.templateHtml, selection.uri, selection.label,
var info = new itemElement(self.templateHtml, selection.uri, selection.label,
selection.classLabel, selection.imageUrl, self.removeItem);
self.itemData.unshift(info);
self.displayItemData();
@ -95,7 +95,7 @@ function proxyItemsPanel(panel, contextInfo) {
}
});
}
var parseOriginalData = function() {
var dataDivs = $("div[name='data']", dataContainerElement)
var data = [];
@ -175,7 +175,7 @@ $(document).ready(function() {
}
this["proxyItemsPanel"] = new proxyItemsPanel(this, context);
});
$("section[name='proxyProxiesPanel']").each(function(i) {
var context = {
baseUrl: proxyContextInfo.baseUrl,
@ -185,32 +185,32 @@ $(document).ready(function() {
}
this["proxyItemsPanel"] = new proxyItemsPanel(this, context);
});
//Add progress indicator for autocomplete input fields
var progressImage;
$('#addProfileEditor').click(function(event){
progressImage = $(event.target).closest("section").find(".loading-profileMyAccoount")
});
$('#selectProfileEditors').click(function(event){
progressImage = $(event.target).closest("section").find(".loading-relateEditor")
});
$('#selectProfiles').click(function(event){
progressImage = $(event.target).closest("section").find(".loading-relateProfile")
});
$('#addProfile').click(function(event){
progressImage = $(event.target).closest("section").find(".loading-addProfile")
});
$(document).ajaxStart(function(){
progressImage.removeClass('hidden').css('display', 'inline-block');
});
$(document).ajaxStop(function(){
progressImage.hide().addClass('hidden');
});

View file

@ -1,13 +1,13 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
// Change form actions in account main page
function changeAction(form, url) {
form.action = url;
return true;
}
}
$(document).ready(function(){
// If filtering by role, make sure the role is included as a parameter (1) when the
// page count changes or (2) when the next or previous links are clicked.
if ( $('#roleFilterUri').val().length > 0 ) {
@ -25,7 +25,7 @@ $(document).ready(function(){
//Accounts per page
//Hide if javascript is enabled
$('input[name="accounts-per-page"]').addClass('hidden');
$('.accounts-per-page').change(function() {
// ensure both accounts-per-page select elements are
// set to the same value before submitting
@ -33,26 +33,26 @@ $(document).ready(function(){
$('.accounts-per-page').val(selectedValue);
$('#account-display').submit();
});
//Delete accounts
//Show is javascript is enabled
$('input:checkbox[name=delete-all]').removeClass('hidden');
$('input:checkbox[name=delete-all]').click(function(){
if ( this.checked ) {
// if checked, select all the checkboxes
$('input:checkbox[name=deleteAccount]').prop('checked','checked');
} else {
// if not checked, deselect all the checkboxes
$('input:checkbox[name=deleteAccount]').prop('checked', null);
}
});
$('input:checkbox[name=deleteAccount]').click(function(){
$('input:checkbox[name=delete-all]').prop('checked', null);
});
// Confirmation alert for account deletion in userAccounts-list.ftl template
$('input[name="delete-account"]').click(function(){
var countAccount = $('input:checkbox[name=deleteAccount]:checked').length;
@ -63,7 +63,7 @@ $(document).ready(function(){
return answer;
}
});
//Select role and filter
$('#roleFilterUri').bind('change', function () {
var url = $(this).val(); // get selected value
@ -72,4 +72,4 @@ $(document).ready(function(){
}
return false;
});
});
});

View file

@ -1,5 +1,5 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
$(document).ready(function(){
// Get the i18n variables from the template
$.extend(this, i18nStrings);
@ -8,7 +8,7 @@ $(document).ready(function(){
$(this).val('');
$("span[name='proxySelectorSearchStatus']").text('')
});
//Alert when user doesn't select an editor and a profile after submitting from for relating proxy-profiles
$('input[name="createRelationship"]').click(function(){
var $proxyUri = $('#add-relation input[name="proxyUri"]').val();
@ -16,16 +16,16 @@ $(document).ready(function(){
if ($proxyUri == undefined || $profileUri == undefined){
$('#error-alert').removeClass('hidden');
var $errorAlert = $('#error-alert p').html();
if ($errorAlert !=""){
return false;
}else{
$('#error-alert p').append(i18nStrings.selectEditorAndProfile);
return false;
}
}
}
});
});

View file

@ -1,10 +1,10 @@
/*!
* Amplify Store - Persistent Client-Side Storage 1.1.0
*
*
* Copyright 2011 appendTo LLC. (http://appendto.com/team)
* Dual licensed under the MIT or GPL licenses.
* http://appendto.com/open-source-licenses
*
*
* http://amplifyjs.com
*/
(function(a,b){function e(a,e){c.addType(a,function(f,g,h){var i,j,k,l,m=g,n=(new Date).getTime();if(!f){m={},l=[],k=0;try{f=e.length;while(f=e.key(k++))d.test(f)&&(j=JSON.parse(e.getItem(f)),j.expires&&j.expires<=n?l.push(f):m[f.replace(d,"")]=j.data);while(f=l.pop())e.removeItem(f)}catch(o){}return m}f="__amplify__"+f;if(g===b){i=e.getItem(f),j=i?JSON.parse(i):{expires:-1};if(j.expires&&j.expires<=n)e.removeItem(f);else return j.data}else if(g===null)e.removeItem(f);else{j=JSON.stringify({data:g,expires:h.expires?n+h.expires:null});try{e.setItem(f,j)}catch(o){c[a]();try{e.setItem(f,j)}catch(o){throw c.error()}}}return m})}var c=a.store=function(a,b,d,e){var e=c.type;d&&d.type&&d.type in c.types&&(e=d.type);return c.types[e](a,b,d||{})};c.types={},c.type=null,c.addType=function(a,b){c.type||(c.type=a),c.types[a]=b,c[a]=function(b,d,e){e=e||{},e.type=a;return c(b,d,e)}},c.error=function(){return"amplify.store quota exceeded"};var d=/^__amplify__/;for(var f in{localStorage:1,sessionStorage:1})try{window[f].getItem&&e(f,window[f])}catch(g){}if(window.globalStorage)try{e("globalStorage",window.globalStorage[window.location.hostname]),c.type==="sessionStorage"&&(c.type="globalStorage")}catch(g){}(function(){if(!c.types.localStorage){var a=document.createElement("div"),d="amplify";a.style.display="none",document.getElementsByTagName("head")[0].appendChild(a);try{a.addBehavior("#default#userdata"),a.load(d)}catch(e){a.parentNode.removeChild(a);return}c.addType("userData",function(e,f,g){a.load(d);var h,i,j,k,l,m=f,n=(new Date).getTime();if(!e){m={},l=[],k=0;while(h=a.XMLDocument.documentElement.attributes[k++])i=JSON.parse(h.value),i.expires&&i.expires<=n?l.push(h.name):m[h.name]=i.data;while(e=l.pop())a.removeAttribute(e);a.save(d);return m}e=e.replace(/[^-._0-9A-Za-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u37f-\u1fff\u200c-\u200d\u203f\u2040\u2070-\u218f]/g,"-");if(f===b){h=a.getAttribute(e),i=h?JSON.parse(h):{expires:-1};if(i.expires&&i.expires<=n)a.removeAttribute(e);else return i.data}else f===null?a.removeAttribute(e):(j=a.getAttribute(e),i=JSON.stringify({data:f,expires:g.expires?n+g.expires:null}),a.setAttribute(e,i));try{a.save(d)}catch(o){j===null?a.removeAttribute(e):a.setAttribute(e,j),c.userData();try{a.setAttribute(e,i),a.save(d)}catch(o){j===null?a.removeAttribute(e):a.setAttribute(e,j);throw c.error()}}return m})}})(),function(){function e(a){return a===b?b:JSON.parse(JSON.stringify(a))}var a={},d={};c.addType("memory",function(c,f,g){if(!c)return e(a);if(f===b)return e(a[c]);d[c]&&(clearTimeout(d[c]),delete d[c]);if(f===null){delete a[c];return null}a[c]=f,g.expires&&(d[c]=setTimeout(function(){delete a[c],delete d[c]},g.expires));return f})}()})(this.amplify=this.amplify||{})
(function(a,b){function e(a,e){c.addType(a,function(f,g,h){var i,j,k,l,m=g,n=(new Date).getTime();if(!f){m={},l=[],k=0;try{f=e.length;while(f=e.key(k++))d.test(f)&&(j=JSON.parse(e.getItem(f)),j.expires&&j.expires<=n?l.push(f):m[f.replace(d,"")]=j.data);while(f=l.pop())e.removeItem(f)}catch(o){}return m}f="__amplify__"+f;if(g===b){i=e.getItem(f),j=i?JSON.parse(i):{expires:-1};if(j.expires&&j.expires<=n)e.removeItem(f);else return j.data}else if(g===null)e.removeItem(f);else{j=JSON.stringify({data:g,expires:h.expires?n+h.expires:null});try{e.setItem(f,j)}catch(o){c[a]();try{e.setItem(f,j)}catch(o){throw c.error()}}}return m})}var c=a.store=function(a,b,d,e){var e=c.type;d&&d.type&&d.type in c.types&&(e=d.type);return c.types[e](a,b,d||{})};c.types={},c.type=null,c.addType=function(a,b){c.type||(c.type=a),c.types[a]=b,c[a]=function(b,d,e){e=e||{},e.type=a;return c(b,d,e)}},c.error=function(){return"amplify.store quota exceeded"};var d=/^__amplify__/;for(var f in{localStorage:1,sessionStorage:1})try{window[f].getItem&&e(f,window[f])}catch(g){}if(window.globalStorage)try{e("globalStorage",window.globalStorage[window.location.hostname]),c.type==="sessionStorage"&&(c.type="globalStorage")}catch(g){}(function(){if(!c.types.localStorage){var a=document.createElement("div"),d="amplify";a.style.display="none",document.getElementsByTagName("head")[0].appendChild(a);try{a.addBehavior("#default#userdata"),a.load(d)}catch(e){a.parentNode.removeChild(a);return}c.addType("userData",function(e,f,g){a.load(d);var h,i,j,k,l,m=f,n=(new Date).getTime();if(!e){m={},l=[],k=0;while(h=a.XMLDocument.documentElement.attributes[k++])i=JSON.parse(h.value),i.expires&&i.expires<=n?l.push(h.name):m[h.name]=i.data;while(e=l.pop())a.removeAttribute(e);a.save(d);return m}e=e.replace(/[^-._0-9A-Za-z\xb7\xc0-\xd6\xd8-\xf6\xf8-\u037d\u37f-\u1fff\u200c-\u200d\u203f\u2040\u2070-\u218f]/g,"-");if(f===b){h=a.getAttribute(e),i=h?JSON.parse(h):{expires:-1};if(i.expires&&i.expires<=n)a.removeAttribute(e);else return i.data}else f===null?a.removeAttribute(e):(j=a.getAttribute(e),i=JSON.stringify({data:f,expires:g.expires?n+g.expires:null}),a.setAttribute(e,i));try{a.save(d)}catch(o){j===null?a.removeAttribute(e):a.setAttribute(e,j),c.userData();try{a.setAttribute(e,i),a.save(d)}catch(o){j===null?a.removeAttribute(e):a.setAttribute(e,j);throw c.error()}}return m})}})(),function(){function e(a){return a===b?b:JSON.parse(JSON.stringify(a))}var a={},d={};c.addType("memory",function(c,f,g){if(!c)return e(a);if(f===b)return e(a[c]);d[c]&&(clearTimeout(d[c]),delete d[c]);if(f===null){delete a[c];return null}a[c]=f,g.expires&&(d[c]=setTimeout(function(){delete a[c],delete d[c]},g.expires));return f})}()})(this.amplify=this.amplify||{})

View file

@ -3,7 +3,7 @@
example of usage:
<form action="" method="get"><div>
<input type="text" size="10" id="dateField" onblur="magicDate(this)"
<input type="text" size="10" id="dateField" onblur="magicDate(this)"
onfocus="if (this.className != 'error') this.select()">
<div id="dateFieldMsg">mm/dd/yyyy</div>
</div></form>
@ -36,7 +36,7 @@ var weekdayNames = "Sunday Monday Tuesday Wednesday Thursday Friday Saturday".sp
an error if 0 or more than 1 matches
*/
function parseMonth(month) {
var matches = monthNames.filter(function(item) {
var matches = monthNames.filter(function(item) {
return new RegExp("^" + month, "i").test(item);
});
if (matches.length == 0) {
@ -61,22 +61,22 @@ function parseWeekday(weekday) {
return weekdayNames.indexOf(matches[0]);
}
/* Array of objects, each has 're', a regular expression and 'handler', a
function for creating a date from something that matches the regular
expression. Handlers may throw errors if string is unparseable.
/* Array of objects, each has 're', a regular expression and 'handler', a
function for creating a date from something that matches the regular
expression. Handlers may throw errors if string is unparseable.
*/
var dateParsePatterns = [
// Today
{ re: /^tod/i,
handler: function() {
handler: function() {
return new Date();
}
}
},
// Tomorrow
{ re: /^tom/i,
handler: function() {
var d = new Date();
d.setDate(d.getDate() + 1);
var d = new Date();
d.setDate(d.getDate() + 1);
return d;
}
},
@ -89,7 +89,7 @@ var dateParsePatterns = [
}
},
// 4th
{ re: /^(\d{1,2})(st|nd|rd|th)?$/i,
{ re: /^(\d{1,2})(st|nd|rd|th)?$/i,
handler: function(bits) {
var d = new Date();
d.setDate(parseInt(bits[1], 10));
@ -97,7 +97,7 @@ var dateParsePatterns = [
}
},
// 4th Jan
{ re: /^(\d{1,2})(?:st|nd|rd|th)? (\w+)$/i,
{ re: /^(\d{1,2})(?:st|nd|rd|th)? (\w+)$/i,
handler: function(bits) {
var d = new Date();
d.setDate(parseInt(bits[1], 10));
@ -116,7 +116,7 @@ var dateParsePatterns = [
}
},
// Jan 4th
{ re: /^(\w+) (\d{1,2})(?:st|nd|rd|th)?$/i,
{ re: /^(\w+) (\d{1,2})(?:st|nd|rd|th)?$/i,
handler: function(bits) {
var d = new Date();
d.setDate(parseInt(bits[2], 10));

View file

@ -8,20 +8,20 @@ var browseClassGroups = {
this.initObjects();
this.bindEventListeners();
},
// Add variables from browse template
mergeFromTemplate: function() {
$.extend(this, browseData);
$.extend(this, i18nStrings);
},
// Create references to frequently used elements for convenience
initObjects: function() {
this.vClassesInClassGroup = $('ul#classes-in-classgroup');
this.browseClassGroupLinks = $('#browse-classgroups li a');
this.browseClasses = $('#browse-classes');
},
// Event listeners. Called on page load
bindEventListeners: function() {
// Listener for classGroup switching
@ -31,7 +31,7 @@ var browseClassGroups = {
browseClassGroups.getVClasses(uri, individualCount);
return false;
});
// Call the bar chart highlighter listener
this.chartHighlighterListener();
},
@ -49,14 +49,14 @@ var browseClassGroups = {
$('#visual-graph svg path').eq(classIndex).attr('fill', '#999');
})
},
// Load classes and chart for default class group as defined by template
defaultClassGroup: function() {
if ( this.defaultBrowseClassGroupURI != "false" ) {
this.getVClasses(this.defaultBrowseClassGroupUri, this.defaultBrowseClassGroupCount);
}
},
// Where all the magic happens -- gonna fetch me some classes
getVClasses: function(classgroupUri, classGroupIndivCount) {
url = this.dataServiceUrl + encodeURIComponent(classgroupUri);
@ -65,16 +65,16 @@ var browseClassGroups = {
this.vClassesInClassGroup.empty();
$('a.browse-superclass').remove();
$('#visual-graph').empty();
var values = [],
labels = [],
uris = [],
classList = [],
populatedClasses = 0;
potentialSuperClasses = [];
$.getJSON(url, function(results) {
$.each(results.classes, function(i, item) {
name = results.classes[i].name;
uri = results.classes[i].URI;
@ -86,63 +86,63 @@ var browseClassGroups = {
if ( indivCount == classGroupIndivCount ) {
potentialSuperClasses.push(populatedClasses);
}
values.push(parseInt(indivCount, 10));
labels.push(name);
uris.push(uri);
// Build the content of each list item, piecing together each component
listItem = '<li role="listitem">';
listItem += '<a href="'+ indexUrl +'" title="' + browseClassGroups.browseAllString + ' '
+ name + ' ' + browseClassGroups.contentString + '">'+ name +'</a>';
listItem += '<a href="'+ indexUrl +'" title="' + browseClassGroups.browseAllString + ' '
+ name + ' ' + browseClassGroups.contentString + '">'+ name +'</a>';
listItem += '</li>';
// Add the list item to the array of classes
classList.push(listItem);
populatedClasses++;
}
})
// Test for number of potential super classes. If only 1, then remove it from all arrays
// But only do so if there are at least 2 classes in the list to begin with
if ( classList.length > 1 && potentialSuperClasses.length == 1 ){
// Grab the URI of the super class before splicing
superClassUri = uris[potentialSuperClasses];
values.splice(potentialSuperClasses, 1);
labels.splice(potentialSuperClasses, 1);
uris.splice(potentialSuperClasses, 1);
classList.splice(potentialSuperClasses, 1);
browseAllUrl = browseClassGroups.baseUrl +'/individuallist?vclassId='+ encodeURIComponent(superClassUri);
browseAllLink = '<a class="browse-superclass" href="'+ browseAllUrl +'" title="'
+ browseClassGroups.browseAllString + ' ' + results.classGroupName
browseAllLink = '<a class="browse-superclass" href="'+ browseAllUrl +'" title="'
+ browseClassGroups.browseAllString + ' ' + results.classGroupName
+ '">' + browseClassGroups.browseAllString + ' &raquo;</a>';
browseClassGroups.browseClasses.prepend(browseAllLink);
}
// Add the classes to the DOM
$.each(classList, function(i, listItem) {
browseClassGroups.vClassesInClassGroup.append(listItem);
})
// Set selected class group
browseClassGroups.selectedClassGroup(results.classGroupUri);
// Update the graph
graphClassGroups.barchart(values, labels, uris);
// Call the bar highlighter listener
browseClassGroups.chartHighlighterListener();
});
},
// Toggle the active class group so it's clear which is selected
selectedClassGroup: function(classGroupUri) {
// Remove active class on all vClasses
$('#browse-classgroups li a.selected').removeClass('selected');
// Add active class for requested vClass
$('#browse-classgroups li a[data-uri="'+ classGroupUri +'"]').addClass('selected');
}
@ -152,12 +152,12 @@ var graphClassGroups = {
// Build the bar chart using gRaphael
barchart: function(values, labels, uris) {
var height = values.length * 37;
// Create the canvas
var r = Raphael("visual-graph", 225, height + 10);
var chart = r.g.hbarchart(0, 16, 225, height, [values], {type:"soft", singleColor:"#999"});
// Was unable to append <a> within <svg> -- was always hidden and couldn't get it to display
// so using jQuery click to add links
$('rect').click(function() {
@ -166,17 +166,17 @@ var graphClassGroups = {
var link = browseClassGroups.baseUrl + '/individuallist?vclassId=' + encodeURIComponent(uri);
window.location = link;
});
// Add title attributes to each <rect> in the bar chart
$('rect').each(function() {
var index = $('rect').index(this);
var label = labels[index];
var title = browseClassGroups.browseAllString + ' ' + label + ' ' + browseClassGroups.contentString;
// Add a title attribute
$(this).attr('title', title);
});
// On hover
// 1. Change bar color
// 2. Highlight class name in main list
@ -199,4 +199,4 @@ var graphClassGroups = {
$(document).ready(function() {
browseClassGroups.onLoad();
browseClassGroups.defaultClassGroup();
});
});

View file

@ -4,12 +4,12 @@ var vitro;
// vitro == null: true
// vitro === null: false (only true if undefined)
// typeof vitro == 'undefined': true
if (!vitro) {
if (!vitro) {
vitro = {};
}
vitro.browserUtils = {
isIELessThan8: function() {
var version;
if (navigator.appVersion.indexOf("MSIE") == -1) {
@ -18,7 +18,7 @@ vitro.browserUtils = {
else {
version = parseFloat(navigator.appVersion.split("MSIE")[1]);
return version < 8;
}
}
}
};

View file

@ -10,7 +10,7 @@ function ValidateForm(formName) {
// Check for Email formatting
if (document.forms[formName].EmailFields) {
errorList = '\n' + i18nStrings.pleaseFormatEmail + '\n\n \"userid@institution.edu\" \n\n'
errorList = '\n' + i18nStrings.pleaseFormatEmail + '\n\n \"userid@institution.edu\" \n\n'
+ i18nStrings.enterValidAddress;
// build array of required fields
emailStr = document.forms[formName].EmailFields.value;
@ -43,4 +43,4 @@ function ValidateForm(formName) {
}
return true;
}
}

View file

@ -1,4 +1,4 @@
<%-- $This file is distributed under the terms of the license in LICENSE$ --%>
<%-- $This file is distributed under the terms of the license in LICENSE$ --%>
<%
String contextPath = request.getContextPath();

View file

@ -5,16 +5,16 @@ var vitro;
// vitro == null: true
// vitro === null: false (only true if undefined)
// typeof vitro == 'undefined': true
if (!vitro) {
if (!vitro) {
vitro = {};
}
vitro.customFormUtils = {
hideForm: function() {
this.hideFields(this.form);
},
clearFormData: function() {
this.clearFields(this.form);
},
@ -26,7 +26,7 @@ vitro.customFormUtils = {
this.clearFields(el);
el.hide();
},
// Clear data from form elements in element el
clearFields: function(el) {
el.find(':input[type!="hidden"][type!="submit"][type!="button"]').each(function() {
@ -34,12 +34,12 @@ vitro.customFormUtils = {
// Remove a validation error associated with this element.
// For now we can remove the error elements. Later we may include them in
// the markup, for customized positioning, in which case we will empty them
// but not remove them here. See findValidationErrors().
// but not remove them here. See findValidationErrors().
$('[id=' + $(this).attr('id') + '_validationError]').remove();
});
},
// Return true iff there are validation errors on the form
//Updating to include new functionality where errors are on top of page
findValidationErrors: function() {
@ -48,28 +48,28 @@ vitro.customFormUtils = {
return true;
}
return this.form.find('.validationError').length > 0;
// RY For now, we just need to look for the presence of the error elements.
// Later, however, we may generate empty error messages in the markup, for
// customized positioning, in which case we need to look for whether they have
// customized positioning, in which case we need to look for whether they have
// content. See clearFormData().
// var foundErrors = false,
// errors = this.form.find('.validationError'),
// numErrors = errors.length,
// i,
// error;
//
//
// for (i = 0; foundErrors == false && i < numErrors; i++) {
// error = errors[i];
// if (error.html() != '') {
// foundErrors = true;
// }
// }
//
//
// return foundErrors;
},
capitalize: function(word) {
return word.substring(0, 1).toUpperCase() + word.substring(1);
}
}
}

View file

@ -8,7 +8,7 @@ function compareVersions(sVersion1, sVersion2) {
var aVersion1 = sVersion1.split(".");
var aVersion2 = sVersion2.split(".");
if (aVersion1.length > aVersion2.length) {
for (var i=0; i < aVersion1.length - aVersion2.length; i++) {
aVersion2.push("0");
@ -16,18 +16,18 @@ function compareVersions(sVersion1, sVersion2) {
} else if (aVersion1.length < aVersion2.length) {
for (var i=0; i < aVersion2.length - aVersion1.length; i++) {
aVersion1.push("0");
}
}
}
for (var i=0; i < aVersion1.length; i++) {
if (aVersion1[i] < aVersion2[i]) {
return -1;
} else if (aVersion1[i] > aVersion2[i]) {
return 1;
}
}
}
return 0;
}
@ -52,10 +52,10 @@ if (isOpera) {
isMinOpera7_5 = fOperaVersion >= 7.5;
}
var isKHTML = sUserAgent.indexOf("KHTML") > -1
|| sUserAgent.indexOf("Konqueror") > -1
|| sUserAgent.indexOf("AppleWebKit") > -1;
var isKHTML = sUserAgent.indexOf("KHTML") > -1
|| sUserAgent.indexOf("Konqueror") > -1
|| sUserAgent.indexOf("AppleWebKit") > -1;
var isMinSafari1 = isMinSafari1_2 = false;
var isMinKonq2_2 = isMinKonq3 = isMinKonq3_1 = isMinKonq3_2 = false;
@ -78,14 +78,14 @@ if (isKHTML) {
isMinKonq3 = compareVersions(RegExp["$1"], "3.0") >= 0;
isMinKonq3_1 = compareVersions(RegExp["$1"], "3.1") >= 0;
isMinKonq3_2 = compareVersions(RegExp["$1"], "3.2") >= 0;
}
}
}
var isIE = sUserAgent.indexOf("compatible") > -1
var isIE = sUserAgent.indexOf("compatible") > -1
&& sUserAgent.indexOf("MSIE") > -1
&& !isOpera;
var isMinIE4 = isMinIE5 = isMinIE5_5 = isMinIE6 = false;
if (isIE) {
@ -112,9 +112,9 @@ if (isMoz) {
isMinMoz1_5 = compareVersions(RegExp["$1"], "1.5") >= 0;
}
var isNS4 = !isIE && !isOpera && !isMoz && !isKHTML
&& (sUserAgent.indexOf("Mozilla") == 0)
&& (navigator.appName == "Netscape")
var isNS4 = !isIE && !isOpera && !isMoz && !isKHTML
&& (sUserAgent.indexOf("Mozilla") == 0)
&& (navigator.appName == "Netscape")
&& (fAppVersion >= 4.0 && fAppVersion < 5.0);
var isMinNS4 = isMinNS4_5 = isMinNS4_7 = isMinNS4_8 = false;
@ -127,7 +127,7 @@ if (isNS4) {
}
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC")
var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC")
|| (navigator.platform == "Macintosh");
var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
@ -137,28 +137,28 @@ var isMac68K = isMacPPC = false;
var isSunOS = isMinSunOS4 = isMinSunOS5 = isMinSunOS5_5 = false;
if (isWin) {
isWin95 = sUserAgent.indexOf("Win95") > -1
isWin95 = sUserAgent.indexOf("Win95") > -1
|| sUserAgent.indexOf("Windows 95") > -1;
isWin98 = sUserAgent.indexOf("Win98") > -1
isWin98 = sUserAgent.indexOf("Win98") > -1
|| sUserAgent.indexOf("Windows 98") > -1;
isWinME = sUserAgent.indexOf("Win 9x 4.90") > -1
isWinME = sUserAgent.indexOf("Win 9x 4.90") > -1
|| sUserAgent.indexOf("Windows ME") > -1;
isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1
isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1
|| sUserAgent.indexOf("Windows 2000") > -1;
isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1
isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1
|| sUserAgent.indexOf("Windows XP") > -1;
isWinNT4 = sUserAgent.indexOf("WinNT") > -1
|| sUserAgent.indexOf("Windows NT") > -1
|| sUserAgent.indexOf("WinNT4.0") > -1
|| sUserAgent.indexOf("Windows NT 4.0") > -1
isWinNT4 = sUserAgent.indexOf("WinNT") > -1
|| sUserAgent.indexOf("Windows NT") > -1
|| sUserAgent.indexOf("WinNT4.0") > -1
|| sUserAgent.indexOf("Windows NT 4.0") > -1
&& (!isWinME && !isWin2K && !isWinXP);
}
}
if (isMac) {
isMac68K = sUserAgent.indexOf("Mac_68000") > -1
isMac68K = sUserAgent.indexOf("Mac_68000") > -1
|| sUserAgent.indexOf("68K") > -1;
isMacPPC = sUserAgent.indexOf("Mac_PowerPC") > -1
|| sUserAgent.indexOf("PPC") > -1;
isMacPPC = sUserAgent.indexOf("Mac_PowerPC") > -1
|| sUserAgent.indexOf("PPC") > -1;
}
if (isUnix) {

View file

@ -2,7 +2,7 @@
function DeveloperPanel(developerAjaxUrl) {
this.setupDeveloperPanel = updateDeveloperPanel;
function updateDeveloperPanel(data) {
$.ajax({
url: developerAjaxUrl,
@ -18,31 +18,31 @@ function DeveloperPanel(developerAjaxUrl) {
}
});
}
function updatePanelContents(contents) {
document.getElementById("developerPanel").innerHTML = contents;
}
function initializeTabs() {
$("#developerTabs").tabs();
}
function addBehaviorToElements() {
$( "#developerPanelClickMe" ).click(openPanel);
$( "#developerPanelSaveButton" ).click(saveSettings);
$( "#developerPanelBody input:checkbox" ).change(updateDisabledFields);
}
function openPanel() {
$( "#developerPanelClickText" ).hide();
$( "#developerPanelBody" ).show();
}
function saveSettings() {
$( "#developerPanelBody" ).hide();
updateDeveloperPanel(collectFormData());
}
function updateDisabledFields() {
var developerEnabled = document.getElementById("developer_enabled").checked;
document.getElementById("developer_permitAnonymousControl").disabled = !developerEnabled;
@ -59,23 +59,23 @@ function DeveloperPanel(developerAjaxUrl) {
document.getElementById("developer_searchDeletions_enable").disabled = !developerEnabled;
document.getElementById("developer_searchEngine_enable").disabled = !developerEnabled;
document.getElementById("developer_authorization_logDecisions_enable").disabled = !developerEnabled;
var rdfServiceEnabled = developerEnabled && document.getElementById("developer_loggingRDFService_enable").checked;
document.getElementById("developer_loggingRDFService_stackTrace").disabled = !rdfServiceEnabled;
document.getElementById("developer_loggingRDFService_queryRestriction").disabled = !rdfServiceEnabled;
document.getElementById("developer_loggingRDFService_stackRestriction").disabled = !rdfServiceEnabled;
var searchIndexEnabled = developerEnabled && document.getElementById("developer_searchIndex_enable").checked;
document.getElementById("developer_searchIndex_showDocuments").disabled = !searchIndexEnabled;
document.getElementById("developer_searchIndex_uriOrNameRestriction").disabled = !searchIndexEnabled;
document.getElementById("developer_searchIndex_documentRestriction").disabled = !searchIndexEnabled;
var searchEngineEnabled = developerEnabled && document.getElementById("developer_searchEngine_enable").checked;
document.getElementById("developer_searchEngine_addStackTrace").disabled = !searchEngineEnabled;
document.getElementById("developer_searchEngine_addResults").disabled = !searchEngineEnabled;
document.getElementById("developer_searchEngine_queryRestriction").disabled = !searchEngineEnabled;
document.getElementById("developer_searchEngine_stackRestriction").disabled = !searchEngineEnabled;
var authLoggingEnabled = developerEnabled && document.getElementById("developer_authorization_logDecisions_enable").checked;
document.getElementById("developer_authorization_logDecisions_skipInconclusive").disabled = !authLoggingEnabled;
document.getElementById("developer_authorization_logDecisions_addIdentifiers").disabled = !authLoggingEnabled;
@ -94,17 +94,17 @@ function DeveloperPanel(developerAjaxUrl) {
});
return data;
}
}
}
/*
* Relies on the global variables for the AJAX URL and the CSS files.
*/
$(document).ready(function() {
$(document).ready(function() {
$.each(developerCssLinks, function(index, value){
var cssLink = $("<link rel='stylesheet' type='text/css' href='" + value + "'>");
$("head").append(cssLink);
});
$("head").append(cssLink);
});
new DeveloperPanel(developerAjaxUrl).setupDeveloperPanel();
});
new DeveloperPanel(developerAjaxUrl).setupDeveloperPanel();
});

View file

@ -16,9 +16,9 @@ function confirmDelete() {
<script language="javascript" type="text/javascript">
if( vitroJsLoaded == null ){
if( vitroJsLoaded == null ){
alert("seminar.js needs to have the code from vitro.js loaded first");
alert("seminar.js needs to have the code from vitro.js loaded first");
}
@ -32,7 +32,7 @@ function monikerInit(){
// $('monikerSelectAlt').disabled = true;
// }
$('Moniker').onchange = checkMonikers;
$('Moniker').onchange = checkMonikers;
update();
@ -45,7 +45,7 @@ function update(){ //updates moniker list when type is changed
dwr.util.useLoadingMessage();
EntityDWR.monikers(createList, document.getElementById("VClassURI").value );
}
@ -74,16 +74,16 @@ function getCurrentMoniker() {
function checkMonikers(){ //checks if monikers is on [new moniker] and enables alt field
var sel = $('Moniker');
var sel = $('Moniker');
if( sel.value == "" || sel.options.length <= 1){
$('MonikerSelectAlt').disabled = false;
}else{
$('MonikerSelectAlt').disabled = true;
$('MonikerSelectAlt').disabled = true;
}
}
}
@ -137,7 +137,7 @@ function fillList(id, data, selectedtext) {
<script language="javascript" type="text/javascript" src="js/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
// Notice: The simple theme does not use all options some of them are limited to the advanced theme
tinyMCE.init({
theme : "advanced",
mode : "exact",
@ -152,7 +152,7 @@ function fillList(id, data, selectedtext) {
width : "95%",
valid_elements : "a[href|target|name|title],br,p,i,em,cite,strong/b,u,sub,sup,ul,ol,li,h2,h3,h4,h5,h6",
forced_root_block: false
// elements : "elm1,elm2",
// save_callback : "customSave",
// content_css : "example_advanced.css",
@ -162,7 +162,7 @@ function fillList(id, data, selectedtext) {
// invalid_elements : "li",
// theme_advanced_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1", // Theme specific setting CSS classes
});
</script>
<script type="text/javascript">
@ -171,10 +171,10 @@ function fillList(id, data, selectedtext) {
/*
dojo.require("dojo.dom.*");
*/
nextId=99999;
// fix this with separate values per type
function getAllChildren(theNode, childArray) {
var ImmediateChildren = theNode.childNodes;
if (ImmediateChildren) {
@ -184,10 +184,10 @@ function fillList(id, data, selectedtext) {
}
}
}
function addLine(baseNode, typeStr)
{
baseId = baseNode.id.substr(0,baseNode.id.length-7);
baseId = baseNode.id.substr(0,baseNode.id.length-7);
newTaName = document.getElementById(baseId+"genTaName").firstChild.nodeValue;
theList = document.getElementById(baseId+"ul");
nextId++;
@ -214,28 +214,28 @@ function fillList(id, data, selectedtext) {
theTaTa.style.display="block";
theTa = document.getElementById(TrId+"ta");
theTa.style.display="block";
// scroll the window to make sure the user sees our new textarea
var coors = findPos(theTaTa);
window.scrollTo(coors[0]-150,coors[1]-150);
// switch the textarea to a TinyMCE instance
tinyMCE.execCommand('mceAddControl',false,TrId+"tata");
tinyMCE.execCommand('mceAddControl',false,TrId+"tata");
return false;
}
function deleteLine(deleteLinkNode, typeStr) {
TrId = deleteLinkNode.id.substr(0,deleteLinkNode.id.length-10);
clickedRowContentValue = document.getElementById(TrId+"contentValue");
clickedRowContentValue.style.textDecoration="line-through";
//tinyMCE.execCommand('mceAddControl',false,TrId+'tata');
//tinyMCE.activeEditor.setContent('', {format : 'raw'});
//tinyMCE.execCommand('mceSetContent',false,'');
//tinyMCE.execCommand('mceRemoveControl',false,TrId+'tata');
document.getElementById(TrId+'tata').innerHTML = '';
clickedRowEditLink = document.getElementById(TrId+"editLink");
clickedRowEditLink.style.display="none";
@ -243,9 +243,9 @@ function fillList(id, data, selectedtext) {
clickedRowDeleteLink.style.display="none";
clickedRowUndeleteLink = document.getElementById(TrId+"undeleteLink");
clickedRowUndeleteLink.style.display="inline";
}
function undeleteLine(undeleteLinkNode, typeStr) {
index = undeleteLinkNode.id.substr(0,undeleteLinkNode.id.length-12);
theContentValue=document.getElementById(index+"contentValue");
@ -261,7 +261,7 @@ function fillList(id, data, selectedtext) {
clickedRowUndeleteLink = document.getElementById(TrId+"undeleteLink");
clickedRowUndeleteLink.style.display="none";
}
function convertLiToTextarea(linkNode, typeStr) {
LiId = linkNode.id.substr(0,linkNode.id.length-8);
theLic = document.getElementById(LiId+"content");
@ -271,8 +271,8 @@ function fillList(id, data, selectedtext) {
tinyMCE.execCommand('mceAddControl',false,LiId+'tata');
return false;
}
function backToLi(okLinkNode) {
function backToLi(okLinkNode) {
index = okLinkNode.id.substr(0,okLinkNode.id.length-6);
textareaDivId = index+"ta";
liDivId = index+"contentValue";
@ -286,7 +286,7 @@ function fillList(id, data, selectedtext) {
theLi.parentNode.style.display = 'block';
return false;
}
function cancelBackToLi(cancelLinkNode) {
index = cancelLinkNode.id.substr(0,cancelLinkNode.id.length-10);
textareaDivId = index+"ta";
@ -305,7 +305,7 @@ function fillList(id, data, selectedtext) {
}
return false;
}
function submitPage() {
theForm = document.getElementById("editForm");
theButtonWeWantToClick = document.getElementById("primaryAction");
@ -316,7 +316,7 @@ function fillList(id, data, selectedtext) {
theForm.appendChild(theHiddenInput);
theForm.submit();
}
function findPos(obj)
{
var curleft = curtop = 0;
@ -354,4 +354,4 @@ function fillList(id, data, selectedtext) {
$(document).ready(function() {
monikerSelection.monikerListener();
});
</script>
</script>

View file

@ -6,9 +6,9 @@ var initTinyMCE = {
this.mergeFromTemplate();
this.initObjects();
this.initEditor();
},
// Add variables from menupage template
mergeFromTemplate: function() {
$.extend(this, customFormData);
@ -19,7 +19,7 @@ var initTinyMCE = {
// Create references to frequently used elements for convenience
initEditor: function() {
initTinyMCE.wsywigFields.tinymce(initTinyMCE.tinyMCEData);
}
};

View file

@ -20,7 +20,7 @@ dojo.require("dojo.event.*");
The html form for tasks 3 and 4 is from a div with id="propertydiv" on
the ents_edit.JSP ( <-- notice, it's on the JSP ). See the js function
getForm().
getForm().
There was a problem where the DWR calls were throwing error messages
for larger (but not unreasonably large) sets of entity data. Updating to DWR
@ -33,7 +33,7 @@ dojo.require("dojo.event.*");
2006-11-21 bdc34: removing the 'new entity' button, added comments
*/
var gEntityUri; //used to hold the URI of the entity being edited
var gEntityUri; //used to hold the URI of the entity being edited
var gProperty; // used to hold property on form
var gEntity; //entity that this page is editing
var editingNewProp = false; //true when editing a new property
@ -41,7 +41,7 @@ var editingNewProp = false; //true when editing a new property
var gVClassUri = null;
//hash: PropertyDWR.propertyId+"D" or "R" (for domain or range) --> obj: PropertyDWR
var gPropertyHash;
var gPropertyHash;
//holds the xhtmlrequest so we can do an abort
var gEntRequest = null;
@ -49,8 +49,8 @@ var gEntRequest = null;
var justwritenProp = null;
var justwritenTr = null;
if( vitroJsLoaded === undefined || vitroJsLoaded === null ){
alert("ents_edit.js needs to have the code from vitro.js loaded first");
if( vitroJsLoaded === undefined || vitroJsLoaded === null ){
alert("ents_edit.js needs to have the code from vitro.js loaded first");
}
var rowId = 1;
@ -104,11 +104,11 @@ function updateEntityAndPropHash(){
if( entityObj != null && 'URI' in entityObj )
PropertyDWR.getAllPossiblePropInstForIndividual(entityObj.URI, { callback:setPropertyHash });
//else
//alert("could not find an individual, usually this means that there is no type for the URI");
//alert("could not find an individual, usually this means that there is no type for the URI");
};
/* This is the method that builds the gPropertyHash. It is called by setGEntity() */
var setPropertyHash = function(propArray) {
var setPropertyHash = function(propArray) {
if( propArray == null || propArray.length < 1 ) {
gPropertyHash = null; /* propArray might be null if we have no properties in the system */
}else{
@ -119,12 +119,12 @@ function updateEntityAndPropHash(){
hashid = hashid + 'D';
} else {
hashid = hashid + 'R';
}
}
gPropertyHash[ hashid ] = propArray[i];
}
}
};
//get the gEntity and then build the gPropertyHash
EntityDWR.entityByURI(gEntityURI, { callback:setGEntity });
}
@ -144,7 +144,7 @@ function doNoPropsWarning(){
}
/*****************************************************************
because dwr calls are async we have a callback
because dwr calls are async we have a callback
*****************************************************************/
function updateTable(callback) {
var cb = callback;
@ -153,7 +153,7 @@ function updateTable(callback) {
/* This makes the row that gets added to the ents_edit form for each ents2ents object. */
addRows(dwr.util.byId("propbody"), props,
[getDomain, getProperty, getRange, getEdit, getDelete],
makeTr);
makeTr);
var newPropTr = dwr.util.byId("justwritenTr");
if( newPropTr != null ){
Fat.fade_element( "justwritenTr" );
@ -184,7 +184,7 @@ var getDelete = function(prop) {
var quote = new RegExp('\'','g');
var dquote = new RegExp('"','g');
return '<input type="button" value="Delete" class="form-button" ' +
'onclick="deleteProp(' +
'onclick="deleteProp(' +
'\'' + cleanForString(prop.subjectEntURI) + '\', ' +
'\'' + cleanForString(prop.propertyURI) + '\', ' +
'\'' + cleanForString(prop.objectEntURI) + '\', ' +
@ -215,7 +215,7 @@ This makeTr is a function with access to a closure that
includes the vars previousPropName and currentClass.
All of this work is to get the table row color to change when
we start drawing a row for a property that is different than the
previous row.
previous row.
*****************************************************************/
var makeTr = (function(){ /* outer func */
// the reason for the outer func is to capture these values in a closure
@ -278,7 +278,7 @@ function deleteProp( subjectURI, predicateURI, objectURI, objectName, predicateN
}
/*****************************************************************
adds the editing form <tr> to the propeties table
adds the editing form <tr> to the propeties table
*****************************************************************/
function appendPropForm(tr, colspan ){
var form = getForm();
@ -288,27 +288,27 @@ function appendPropForm(tr, colspan ){
var td = tr.insertCell(-1);
td.appendChild( form );
if( colspan !== undefined && colspan > 0){
td.colSpan=colspan;
if( colspan !== undefined && colspan > 0){
td.colSpan=colspan;
}
form.style.display="block";
}
/*****************************************************************
This gets called when the button to make a new property
for the entity is pressed.
This gets called when the button to make a new property
for the entity is pressed.
*****************************************************************/
function newProp() {
if( gPropertyHash == null || gPropertyHash.length < 1 ) {
/* propArray might be null if we have no properties in the system */
doNoPropsWarning();
doNoPropsWarning();
}else{
var innerNew = function (){
var newP = {};
newP.domainClass = gEntity.vClassId;
newP.subjectName = gEntity.name;
newP.subjectEntURI = gEntity.URI;
fillForm( newP );
editingNewProp = true;
fillRangeVClassList();
@ -316,7 +316,7 @@ function newProp() {
var tr = table.insertRow(0);
tr.id = "newrow";
appendPropForm( tr, tableMaxColspan( table ) );
//table.insertBefore(tr, table.rows[0]);
};
updateTable( innerNew );
@ -324,26 +324,26 @@ function newProp() {
}
/****************************************************************
Fills out the property edit form with the given property
Fills out the property edit form with the given property
*****************************************************************/
function fillForm(aprop) {
clearProp();
gProperty = aprop;
var vclass = gProperty.domainClass;
dwr.util.setValues(gProperty);
toggleDisabled("newPropButton");
fillPropList(vclass); // this will also fill the vclass and ents lists
fillPropList(vclass); // this will also fill the vclass and ents lists
}
/****************************************************************
This will fill the select list will all of the properties found
in the gPropertyHash and then trigger a update of the vClasList
in the gPropertyHash and then trigger a update of the vClasList
******************************************************************/
function fillPropList(classId) {
/* This function fills up the form's select list with options
function fillPropList(classId) {
/* This function fills up the form's select list with options
Notice that the option id is the propertyid + 'D' or 'R'
so that domain and range properties can be distinguished */
var propList = dwr.util.byId("propertyList");
@ -369,7 +369,7 @@ function fillPropList(classId) {
}
var opt = new Option(text, value);
if( gProperty.propertyURI == prop.propertyURI ){
opt.selected = true;
opt.selected = true;
}
propList.options[propList.options.length] = opt;
}
@ -378,29 +378,29 @@ function fillPropList(classId) {
}
/*****************************************************************
Fill up the range VClass list on the property editing form.
Fill up the range VClass list on the property editing form.
If propId is null then the one on the property select list will be used
*****************************************************************/
function fillRangeVClassList( propId ){
//If propId is null then the one on the property select list will be used
if( propId == null ) { propId = dwr.util.getValue("propertyList");}
//clear the list and put the loading message up
var vclassListEle = dwr.util.byId("vClassList");
clear(vclassListEle);
vclassListEle.options[vclassListEle.options.length] = new Option("Loading...",-10);
//vclassListEle.options[0].selected = true;
//vclassListEle.options[vclassListEle.options.length] = new Option("Crapping...",-15);
var prop = gPropertyHash[propId];
var prop = gPropertyHash[propId];
VClassDWR.getVClasses(prop.domainClassURI, prop.propertyURI, prop.subjectSide,
function(vclasses){
addVClassOptions( vclasses );
}
);
}
}
/****************************************************************
Adds vClasses to the vClassList and trigger an update of
the entitiesList.
@ -424,15 +424,15 @@ function addVClassOptions( vclassArray ){
addOptions("vClassList", vclassArray,
function(vclass){ return vclass.URI; },
function(vclass){
function(vclass){
var count = "";
if( vclass.entityCount != null &&
if( vclass.entityCount != null &&
vclass.entityCount >= 0){
count = " ("+vclass.entityCount+")";
}
return vclass.name+count;
});
//attempt to set the selected option to the current vclass
var vclassURI = null;
var prop = gPropertyHash[ dwr.util.getValue("propertyList") ];
@ -456,8 +456,8 @@ function addVClassOptions( vclassArray ){
/*****************************************************************
Fill up the entity list in a property editing form.
The propId should have the id + 'D' or 'R' to
indicate domain or range.
The propId should have the id + 'D' or 'R' to
indicate domain or range.
*****************************************************************/
function fillEntsList( vclassEle ){
if( vclassEle == null )
@ -468,11 +468,11 @@ function fillEntsList( vclassEle ){
return;
else
gVClassUri = vclassUri;
var entsListEle = dwr.util.byId("entitiesList");
clear(entsListEle);
entityOptToSelect = null;
entsListEle.disabled = true;
entsListEle.options[entsListEle.options.length] = new Option("Loading...",-12);
entsListEle.options[entsListEle.options.length-1].selected = true;
@ -487,7 +487,7 @@ function fillEntsList( vclassEle ){
error: function(type, data, evt){
if( type == null ){ type = "none" ; }
if( data == null ){ data = "none" ; }
if( evt == null ){ evt = "none" ; }
if( evt == null ){ evt = "none" ; }
alert("An error occurred while attempting to get the individuals of vclass "
+ vclassUri + "\ntype: " + type +"\ndata: "+
data +"\nevt: " + evt );
@ -501,7 +501,7 @@ function fillEntsList( vclassEle ){
mimetype: "text/json"
};
abortExistingEntRequest();
gEntRequest = dojo.io.bind(bindArgs);
gEntRequest = dojo.io.bind(bindArgs);
} else {
clear(entsListEle);
}
@ -523,7 +523,7 @@ function addEntOptions( entArray ){
if( entArray != null && entArray[entArray.length-1].nextUrl != null ){
contObj = entArray.pop();
}
var CUTOFF = 110; //shorten entity names longer then this value.
var foundEntity = false;
var text;
@ -543,7 +543,7 @@ function addEntOptions( entArray ){
if( contObj != null ){
entsListEle.item(0).text = entsListEle.item(0).text + ".";
addMoreEntOptions( contObj );
} else {
} else {
gEntRequests = [];
entsListEle.disabled = false;
if( entsListEle.length > 0 && entsListEle.item(0).value == -12){
@ -557,7 +557,7 @@ function addEntOptions( entArray ){
var entityOptToSelect =null;
/*
* Add more entity options to the list if there are more on the request
* Add more entity options to the list if there are more on the request
*
example of a continueObj
{"nextUrl":"http://localhost:8080/vivo/dataService?getEntitiesByVClass=1&vclassId=318",
@ -570,7 +570,7 @@ function addMoreEntOptions( continueObj ){
error: function(type, data, evt){
if( type == null ){ type = "none" ; }
if( data == null ){ data = "none" ; }
if( evt == null ){ evt = "none" ; }
if( evt == null ){ evt = "none" ; }
alert("An error addMoreEntOptions()"+"\ntype: " + type +"\ndata: "+
data +"\nevt: " + evt );
},
@ -578,9 +578,9 @@ function addMoreEntOptions( continueObj ){
addEntOptions( data );
},
mimetype: "text/json"
};
};
abortExistingEntRequest();
gEntRequest = dojo.io.bind(bindArgs);
gEntRequest = dojo.io.bind(bindArgs);
}
}
@ -596,7 +596,7 @@ If the last item in the JSON array has an id then you don't have to go back
for more results.
Example:
[ ...
[ ...
{"moniker":"recent journal article", "name":"{beta}2 and {beta}4
Subunits of BK Channels Confer Differential Sensitivity to Acute
Modulation by Steroid Hormones.", "vClassId":318, "id":18120},
@ -606,11 +606,11 @@ Example:
*/
/****************************************************************
Check to see if property edit form is valid
Check to see if property edit form is valid
*****************************************************************/
function validateForm(){
var dateEx = "\nDates should be in the format YYYY-MM-DD";
/* used to check dates here */
/* used to check dates here */
return true;
}
@ -631,13 +631,13 @@ function writeProp() {
var selected = dwr.util.getValue("entitiesList");
newP.subjectEntURI= gEntity.URI;
newP.objectEntURI = selected ;
var callback = function(result){
editingNewProp = false;
justwritenProp = newP;
update(); };
if( editingNewProp ){
if( editingNewProp ){
newP.ents2entsId = -1;
PropertyDWR.insertProp(newP, { callback:callback } );
} else {
@ -665,7 +665,7 @@ function disy( obj, note ){ alert( (note!==null?note:"") + dwr.util.toDescriptiv
/* attempts to get the URI of the entity being edited */
function getEntityUriFromPage(){
return document.getElementById("entityUriForDwr").nodeValue;
return document.getElementById("entityUriForDwr").nodeValue;
}
function abortExistingEntRequest(){
@ -676,5 +676,5 @@ function abortExistingEntRequest(){
alert("No abort function found on gEntRequest");
}
gEntRequest = null;
}
}
}

View file

@ -1,8 +1,8 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
if( vitroJsLoaded == null ){
if( vitroJsLoaded == null ){
alert("seminar.js needs to have the code from vitro.js loaded first");
alert("seminar.js needs to have the code from vitro.js loaded first");
}
@ -20,7 +20,7 @@ function init(){
// $('monikerSelectAlt').disabled = true;
// }
$('monikerSelect').onchange = checkMonikers;
$('monikerSelect').onchange = checkMonikers;
update();
@ -33,7 +33,7 @@ function update(){ //updates moniker list when type is changed
dwr.util.useLoadingMessage();
EntityDWR.monikers(createList, document.getElementById("field2Value").value );
}
@ -59,16 +59,16 @@ function createList(data) { //puts options in moniker select list
function checkMonikers(){ //checks if monikers is on [new moniker] and enables alt field
var sel = $('monikerSelect');
var sel = $('monikerSelect');
if( sel.value == "" || sel.options.length <= 1){
$('monikerSelectAlt').disabled = false;
}else{
$('monikerSelectAlt').disabled = true;
$('monikerSelectAlt').disabled = true;
}
}
}

View file

@ -5,14 +5,14 @@ String.prototype.capitalize = function() {
};
String.prototype.capitalizeWords = function() {
var words = this.split(/\s+/),
var words = this.split(/\s+/),
wordCount = words.length,
i,
newWords = [];
for (i = 0; i < wordCount; i++) {
newWords.push(words[i].capitalize());
}
return newWords.join(' ');
return newWords.join(' ');
};

View file

@ -3,4 +3,4 @@
/*@cc_on(function(m,c){var z="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video";function n(d){for(var a=-1;++a<o;)d.createElement(i[a])}function p(d,a){for(var e=-1,b=d.length,j,q=[];++e<b;){j=d[e];if((a=j.media||a)!="screen")q.push(p(j.imports,a),j.cssText)}return q.join("")}var g=c.createElement("div");g.innerHTML="<z>i</z>";if(g.childNodes.length!==1){var i=z.split("|"),o=i.length,s=RegExp("(^|\\s)("+z+")",
"gi"),t=RegExp("<(/*)("+z+")","gi"),u=RegExp("(^|[^\\n]*?\\s)("+z+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),r=c.createDocumentFragment(),k=c.documentElement;g=k.firstChild;var h=c.createElement("body"),l=c.createElement("style"),f;n(c);n(r);g.insertBefore(l,
g.firstChild);l.media="print";m.attachEvent("onbeforeprint",function(){var d=-1,a=p(c.styleSheets,"all"),e=[],b;for(f=f||c.body;(b=u.exec(a))!=null;)e.push((b[1]+b[2]+b[3]).replace(s,"$1.iepp_$2")+b[4]);for(l.styleSheet.cssText=e.join("\n");++d<o;){a=c.getElementsByTagName(i[d]);e=a.length;for(b=-1;++b<e;)if(a[b].className.indexOf("iepp_")<0)a[b].className+=" iepp_"+i[d]}r.appendChild(f);k.appendChild(h);h.className=f.className;h.innerHTML=f.innerHTML.replace(t,"<$1font")});m.attachEvent("onafterprint",
function(){h.innerHTML="";k.removeChild(h);k.appendChild(f);l.styleSheet.cssText=""})}})(this,document);@*/
function(){h.innerHTML="";k.removeChild(h);k.appendChild(f);l.styleSheet.cssText=""})}})(this,document);@*/

View file

@ -11,11 +11,11 @@
minSize: [ 115, 115 ],
boxWidth: 650,
aspectRatio: 1
});
var bounds = jcrop_api.getBounds();
var boundx = bounds[0];
@ -41,7 +41,7 @@
$('input[name=h]').val(Math.round(coords.h));
}
};
});
}(jQuery));
}(jQuery));

View file

@ -7,4 +7,4 @@ $(document).ready(function(){
var answer = confirm(i18n_confirmDelete);
return answer;
});
});
});

View file

@ -1,7 +1,7 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
$(document).ready(function(){
$.extend(this, i18nStringsUriRdf);
$('head').append('<style id="uriIconCSS">.qtip { font-size: 14px; max-width: none !important; } .uriIconTip { background-color: #f1f2ee; } </style>');
@ -87,4 +87,4 @@ $(document).ready(function(){
$('#uriIcon').qtip("hide");
return false;
});
});
});

View file

@ -3,14 +3,14 @@
var manageLabels = {
/* *** Initial page setup *** */
onLoad: function() {
this.mixIn();
this.mixIn();
this.initObjects();
this.initPage();
var selectedRadio;
var selectedRadio;
},
mixIn: function() {
@ -19,12 +19,12 @@ var manageLabels = {
$.extend(this, customFormData);
$.extend(this, i18nStrings);
},
initObjects:function() {
this.addLabelForm = $('#addLabelForm');
this.showFormButtonWrapper = $('#showAddForm');
this.showFormButton = $("#showAddFormButton");
//button to return to profile - div with only cancel
//button to return to profile - div with only cancel
this.showCancelOnlyButton = $("#showCancelOnly");
this.addLabelCancel = this.addLabelForm.find(".cancel");
this.submit = this.addLabelForm.find('input#submit');
@ -34,12 +34,12 @@ var manageLabels = {
// Initial page setup. Called only at page load.
initPage: function() {
var disableSubmit = true;
if(this.submissionErrorsExist == "false") {
//hide the form to add label
this.addLabelForm.hide();
//If the number of available locales is zero, then hide the ability to show the form as well
if(this.numberAvailableLocales == 0) {
manageLabels.showFormButtonWrapper.hide();
@ -48,67 +48,67 @@ var manageLabels = {
//if the add label button is visible, don't need cancel only link
this.showCancelOnlyButton.hide();
}
} else {
//Display the form
this.onShowAddForm();
//Also make sure the save button is enabled in case there is a value selected for the drop down
if(this.labelLanguage.val() != "") {
disableSubmit = false;
}
}
if(disableSubmit) {
//disable submit until user selects a language
this.submit.attr('disabled', 'disabled');
this.submit.addClass('disabledSubmit');
}
this.bindEventListeners();
},
bindEventListeners: function() {
this.labelLanguage.change( function() {
//if language selected, allow submission, otherwise disallow
var selectedLanguage = manageLabels.labelLanguage.val();
if(selectedLanguage != "") {
manageLabels.submit.attr('disabled', false);
manageLabels.submit.removeClass('disabledSubmit');
manageLabels.submit.removeClass('disabledSubmit');
} else {
manageLabels.submit.attr('disabled', 'disabled');
manageLabels.submit.addClass('disabledSubmit');
manageLabels.submit.addClass('disabledSubmit');
}
});
//enable form to add label to be displayed or hidden
this.showFormButton.click(function() {
//clear the inputs for the label if the button is being clicked
manageLabels.clearAddForm();
manageLabels.onShowAddForm();
});
//Check for clicking on existing labels list remove links
//Note addition will refresh the page and removing will remove the item so adding event listeners
//to remove links should keep remove link events in synch with page
this.existingLabelsList.find("a.remove").click(function(event) {
var message = "Are you sure you wish to delete this label?"
if (!confirm(message)) {
return false;
}
//First check with confirmation whether or not they want to delete
manageLabels.processLabelDeletion(this);
return false;
});
this.addLabelForm.find("a.cancel").click(function(event){
event.preventDefault();
//clear the add form
@ -125,7 +125,7 @@ var manageLabels = {
manageLabels.addLabelForm.find("input[type='text'],select").val("");
//set the button for save to be disabled again
manageLabels.submit.attr('disabled', 'disabled');
manageLabels.submit.addClass('disabledSubmit');
manageLabels.submit.addClass('disabledSubmit');
},
onShowAddForm:function() {
manageLabels.addLabelForm.show();
@ -136,15 +136,15 @@ var manageLabels = {
manageLabels.showFormButtonWrapper.show();
});
},
onHideAddForm:function() {
manageLabels.addLabelForm.hide();
manageLabels.showFormButtonWrapper.show();
//manageLabels.addLabelCancel.unbind("click");
},
//Remove label
//Remove label
processLabelDeletion: function(selectedLink) {
// PrimitiveDelete only handles one statement, so we have to use PrimitiveRdfEdit to handle multiple
// retractions if they exist. But PrimitiveRdfEdit also handles assertions, so pass an empty string
// for "additions"
@ -156,14 +156,14 @@ var manageLabels = {
}
var retract = "<" + manageLabels.individualUri + "> <http://www.w3.org/2000/01/rdf-schema#label> "
+ "\"" + $(selectedLink).attr('labelValue') + "\"" + $(selectedLink).attr('tagOrType') + " ." ;
retract = retract.substring(0,retract.length -1);
$.ajax({
url: manageLabels.processingUrl,
type: 'POST',
type: 'POST',
data: {
additions: add,
retractions: retract
@ -171,7 +171,7 @@ var manageLabels = {
dataType: 'json',
context: selectedLink, // context for callback
complete: function(request, status) {
if (status == 'success') {
//Remove the label from the list
manageLabels.removeLabelFromList(selectedLink);
@ -180,10 +180,10 @@ var manageLabels = {
else {
//Instead of alert, write error to template
alert(manageLabels.errorProcessingLabels);
}
}
});
});
},
removeLabelFromList:function(selectedLink) {
@ -197,7 +197,7 @@ var manageLabels = {
if(removeLinks.length == 0) {
//if there aren't any other labels for this language, also remove the heading
manageLabels.existingLabelsList.find("h3[languageName='" + languageName + "']").remove();
}
//Check to see if there is only one label left on the page, if so remove or hide the remove link
if(allRemoveLinks.length == 1) {
@ -206,8 +206,8 @@ var manageLabels = {
//whereas remove executes an ajax query and the page isn't reloaded
}
}
},
//Determine if there are new locales that can be added to the options once a delete has occurred
updateLocaleSelection:function() {
@ -220,9 +220,9 @@ var manageLabels = {
existingLanguages[languageCode] = true;
}
});
//Now check against full list, if any in full list not represented, will need to include in dropdown
//This is a list of
//This is a list of
var availableLocalesList = [];
var listLen = selectLocalesFullList.length;
var i;
@ -235,7 +235,7 @@ var manageLabels = {
availableLocalesList.push(possibleLanguageInfo);
}
}
//Now sort this list by the label property on the object
availableLocalesList.sort(function(a, b) {
var compA = a["label"];
@ -248,10 +248,10 @@ var manageLabels = {
//hide the cancel only button
manageLabels.showCancelOnlyButton.hide();
}
//Now replace dropdown with this new list
manageLabels.generateLocalesDropdown(availableLocalesList);
},
generateLocalesDropdown:function(availableLocalesList) {
//First check if there are any available locales left, if not then hide the entire add form
@ -275,7 +275,7 @@ var manageLabels = {
//because the form thought there were no available locales
}
},
addLocaleInfo:function(localeInfo) {
//Add code to dropdown
//Would we need to regenerate alphabetically? Argh.
@ -284,6 +284,6 @@ var manageLabels = {
};
$(document).ready(function() {
$(document).ready(function() {
manageLabels.onLoad();
});
});

View file

@ -9,32 +9,32 @@ var menuManagement = {
this.initObjects();
this.initMenuItemsDD();
},
// Add variables from menupage template
mergeFromTemplate: function() {
$.extend(this, menuManagementData);
$.extend(this, i18nStrings);
},
// Create references to frequently used elements for convenience
initObjects: function() {
this.menuItemsList = $('ul.menuItems');
},
// Drag-and-drop
initMenuItemsDD: function() {
var menuItems = this.menuItemsList.children('li');
if (menuItems.length < 2) {
return;
}
this.menuItemsList.addClass('dragNdrop');
menuItems.attr('title', menuManagement.dragDropMenus);
/*$("#loading").ajaxStart(function(){
$(this).show();
});
@ -42,23 +42,23 @@ var menuManagement = {
$(this).hide();
});*/
this.menuItemsList.sortable({
cursor: 'move',
cursor: 'move',
update: function(event, ui) {
menuManagement.reorderMenuItems(event, ui);
}
});
},
// Reorder menu items. Called after menu item drag-and-drop
reorderMenuItems: function(event, ui) {
var menuItems = $('li.menuItem').map(function(index, el) {
return $(this).data('menuItemUri');
}).get();
$.ajax({
url: menuManagement.reorderUrl,
@ -73,11 +73,11 @@ var menuManagement = {
var pos;
$('.menuItem').each(function(index){
pos = index + 1;
// Set the new position for this element. The only function of this value
// Set the new position for this element. The only function of this value
// is so we can reset an element to its original position in case reordering fails.
menuManagement.setPosition(this, pos);
});
menuManagement.setPosition(this, pos);
});
},
error: function(request, status, error) {
// ui is undefined after removal of a menu item.
@ -85,61 +85,61 @@ var menuManagement = {
// Put the moved item back to its original position.
// Seems we need to do this by hand. Can't see any way to do it with jQuery UI. ??
var pos = menuManagement.getPosition(ui.item),
nextpos = pos + 1,
nextpos = pos + 1,
menuItems = menuManagement.menuItemsList,
next = menuManagement.findMenuItem('position', nextpos);
if (next.length) {
ui.item.insertBefore(next);
}
else {
ui.item.appendTo(menuItems);
}
alert(menuManagement.reorderingFailed);
}
}
});
},
// On page load, associate data with each menu item list element. Then we don't
// have to keep retrieving data from or modifying the DOM as we manipulate the
// menu items.
initMenuItemData: function() {
$('.menuItem').each(function(index) {
$(this).data(menuItemData[index]);
$(this).data(menuItemData[index]);
// RY We might still need position to put back an element after reordering
// failure. Position might already have been reset? Check.
// We also may need position to implement undo links: we want the removed menu item
// to show up in the list, but it has no position.
$(this).data('position', index+1);
$(this).data('position', index+1);
});
},
getPosition: function(menuItem) {
return $(menuItem).data('position');
},
setPosition: function(menuItem, pos) {
$(menuItem).data('position', pos);
},
findMenuItem: function(key, value) {
var matchingMenuItem = $(); // if we don't find one, return an empty jQuery set
$('.menuItem').each(function() {
var menuItem = $(this);
if ( menuItem.data(key) === value ) {
matchingMenuItem = menuItem;
matchingMenuItem = menuItem;
return false; // stop the loop
}
});
return matchingMenuItem;
return matchingMenuItem;
}
};
$(document).ready(function() {
$(document).ready(function() {
menuManagement.onLoad();
});
});

View file

@ -1,15 +1,15 @@
/* $This file is distributed under the terms of the license in LICENSE$ */
$(document).ready(function(){
$.fn.exists = function () {
return this.length !== 0;
}
$.fn.moreLess = function () {
$(this).each
}
var togglePropDisplay = {
showMore: function($toggleLink, $itemContainer) {
$toggleLink.click(function() {
@ -20,7 +20,7 @@ $(document).ready(function(){
return false;
});
},
showLess: function($toggleLink, $itemContainer) {
$toggleLink.click(function() {
$itemContainer.hide();
@ -31,61 +31,61 @@ $(document).ready(function(){
});
}
};
// var $propList = $('.property-list').not('>li>ul');
var $propList = $('.property-list:not(:has(>li>ul))');
$propList.each(function() {
var limit = $(this).attr("displayLimit");
var limit = $(this).attr("displayLimit");
var $additionalItems = $(this).find('li:gt(' + (limit - 1) + ')');
if ( $additionalItems.exists() ) {
// create container for additional elements
var $itemContainer = $('<div class="additionalItems" />').appendTo(this);
// create toggle link
var $toggleLink = $('<a class="more-less" href="#show more content" title="' + i18nStrings.showMoreContent + '">' + i18nStrings.displayMoreEllipsis + '</a>').appendTo(this);
$additionalItems.appendTo($itemContainer);
$itemContainer.hide();
togglePropDisplay.showMore($toggleLink, $itemContainer);
}
});
var $subPropList = $('.subclass-property-list');
$subPropList.each(function() {
var limit = $(this).parent().parent().attr("displayLimit");
var limit = $(this).parent().parent().attr("displayLimit");
var $additionalItems = $(this).find('li:gt(' + (limit - 1) + ')');
if ( $additionalItems.exists() ) {
// create container for additional elements
var $itemContainer = $('<div class="additionalItems" />').appendTo(this);
// create toggle link
var $toggleLink = $('<a class="more-less" href="#show more content" title="' + i18nStrings.showMoreContent + '">' + i18nStrings.displayMoreEllipsis + '</a>').appendTo(this);
$additionalItems.appendTo($itemContainer);
$itemContainer.hide();
togglePropDisplay.showMore($toggleLink, $itemContainer);
}
});
var $subPropSibs = $subPropList.closest('li').last().nextAll();
var $subPropParent = $subPropList.closest('li').last().parent();
var $additionalItems = $subPropSibs.slice(3);
if ( $additionalItems.length > 0 ) {
// create container for additional elements
var $itemContainer = $('<div class="additionalItems" />').appendTo($subPropParent);
// create toggle link
var $toggleLink = $('<a class="more-less" href="#show more content" title="' + i18nStrings.showMoreContent + '">' + i18nStrings.displayMoreEllipsis + '</a>').appendTo($subPropParent);
$additionalItems.appendTo($itemContainer);
$itemContainer.hide();
togglePropDisplay.showMore($toggleLink, $itemContainer);
}
});

Some files were not shown because too many files have changed in this diff Show more