summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/webapp/wayf.css18
-rw-r--r--src/main/webapp/wayf.jsp117
2 files changed, 126 insertions, 9 deletions
diff --git a/src/main/webapp/wayf.css b/src/main/webapp/wayf.css
index 4056aa3..0eeb26c 100644
--- a/src/main/webapp/wayf.css
+++ b/src/main/webapp/wayf.css
@@ -102,3 +102,21 @@ span.warning {
text-align: center;
margin-top: 1.5em;
}
+
+div.dropdown {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border: 1px solid black;
+ position: absolute;
+}
+
+div.dropdown div {
+ background-color: white;
+ cursor: default;
+ padding: 0px 3px;
+}
+
+div.dropdown div.current {
+ background-color: #3366cc;
+ color: white;
+}
diff --git a/src/main/webapp/wayf.jsp b/src/main/webapp/wayf.jsp
index 74ba11d..3a9e258 100644
--- a/src/main/webapp/wayf.jsp
+++ b/src/main/webapp/wayf.jsp
@@ -123,6 +123,7 @@
10 - Recently used sites hyperlinks
20 - <clear button for above>
+ 25 - AutoSuggestion
30 Federation selection
40 IdP within Selection
50 Select button
@@ -158,15 +159,14 @@ Select an identity provider
<!--CONFIG-->
The Service you are trying to reach requires that you
-authenticate with your home institution, please select it from the
-list below.
+authenticate with your home organization, enter the name below.
</p>
<logic:present name="cookieList" scope="request">
<h2>
-Recently used institutions:
+Recently used organizations:
</h2>
@@ -178,6 +178,7 @@ Recently used institutions:
simulating the user having specified a permanent cookie -->
</logic:present>
+
<logic:iterate id="site" name="cookieList">
<p class="text">
<logic:present name="entityID" scope="request">
@@ -230,13 +231,54 @@ Recently used institutions:
</div>
</form>
- </logic:present>
+ </logic:present> <!-- Previous Selections -->
- <div class="list">
+<logic:present name="showComments" scope="Request">
+
+<!-- PROGRAMMING NOTE
+
+ Add the "instant serach" dialogue.
+
+</logic:present>
+ <div class="list">
+ <logic:present name="sites" scope="request">
+ <h2>
+ Enter insititution name:
+ </h2>
+ <form autocomplete="OFF" action="">
+ <div>
+ <logic:notPresent name="entityID" scope="request">
+ <input type="hidden" name="shire" value="<bean:write name="shire" />" />
+ <input type="hidden" name="target" value="<bean:write name="target" />" />
+ <input type="hidden" name="providerId" value="<bean:write name="providerId" />" />
+ <logic:present name="time" scope="request">
+ <input type="hidden" name="time" value="<bean:write name="time" />" />
+ </logic:present>
+ </logic:notPresent>
+ <logic:present name="entityID" scope="request">
+ <input type="hidden" name="entityID" value="<bean:write name="entityID" />" />
+ <input type="hidden" name="returnX" value="<bean:write name="returnX" />" />
+ <input type="hidden" name="returnIDParam" value="<bean:write name="returnIDParam" />" />
+ </logic:present>
+ <input type="hidden" id="enterOrigin" name="origin" value="unspec" />
+ <input type="hidden" id="enterType" name="action" value="search" />
+ <input type="text" id="enterText" name="string" value="" tabindex="25" size="54"/>
+ <input type="submit" id="enterSubmit" value="Search"/>
+ <input type="hidden" name="cache" value="perm"/>
+ </div>
+ </form>
+ </logic:present>
+
<h2>
-Choose from a list:
+<logic:present name="showComments" scope="Request">
+
+Provide a static drop down or a dynamically republished one. - you may wish to remove this code
+
+</logic:present>
+
+Or choose from a list:
</h2>
@@ -259,7 +301,7 @@ Choose from a list:
<input type="hidden" name="returnIDParam" value="<bean:write name="returnIDParam" />" />
</logic:present>
<input type="hidden" name="action" value="selection" />
- <select name="origin" tabindex="40">
+ <select name="origin" id="hackForie6" tabindex="40">
<logic:iterate id="site" name="sites">
<option value="<jsp:getProperty name="site" property="name" />">
<jsp:getProperty name="site" property="displayName" />
@@ -314,7 +356,7 @@ Choose from a list:
<table id="tab">
<tr>
<th>Federation </th>
- <th>Institution</th>
+ <th>organization</th>
</tr>
<tr><td>
<select name="FedSelector" size="10" id="FedSelect" tabindex="30"
@@ -378,7 +420,14 @@ Choose from a list:
</form>
</logic:present>
</div>
+
+
<div class="search">
+
+<logic:present name="showComments" scope="Request">
+
+<!-- This is here for completeness - it shows the "old fashioned way" to do search -->
+
<span class="option">or</span>
<h2>
@@ -412,6 +461,9 @@ Search by keyword:
</div>
</form>
+<!-- The end of the old code. Below is where search results go 00>
+
+</logic:present>
<logic:present name="searchResultsEmpty" scope="request">
<p class="error">
@@ -540,7 +592,54 @@ function changedFed(X, Selected) {
-->
</script>
</logic:present>
-
+
+<logic:present name="sites" scope="request">
+
+<logic:present name="showComments" scope="Request">
+ <!-- Load the autosuggest code.
+
+ PROGRAMMING NOTE - the "ie6Hack" is to do with an issue in ie6 in which the
+ psuedo drop down floats below the real dropdown. The hack is that we jsut disable
+ the real drop down when the pseudo one is about. This can seem weird for some
+ layouts and so if you are not deploying against ie6 you can just send an
+ empty array.
+ -->
+</logic:present>
+ <script language="javascript" type="text/javascript" src="Suggest.js"></script>
+ <script language="javascript" type="text/javascript">
+<!--
+window.onload = function() {
+
+<logic:notPresent name="siteLists" scope="request">
+ var ie6Hack = [ document.getElementById("hackForie6")];
+</logic:notPresent>
+
+<logic:present name="siteLists" scope="request">
+ var ie6Hack = [ document.getElementById("FedSelect"), document.getElementById("originIdp")];
+</logic:present>
+ var control = new TypeAheadControl(theElements,
+ document.getElementById("enterText"),
+ document.getElementById("enterOrigin"),
+ document.getElementById("enterSubmit"),
+ document.getElementById("enterType"),
+ ie6Hack);
+
+
+ document.getElementById("enterText").focus();
+}
+
+
+var theElements = [
+ <logic:iterate id="site" name="sites">
+ ["<%= ((edu.internet2.middleware.shibboleth.wayf.IdPSite)site).getDisplayName().replace("\n","").toString() %>",
+ "<jsp:getProperty name="site" property="name" />"],
+ </logic:iterate>
+ ];
+
+-->
+ </script>
+</logic:present>
+
</body>
</html>