diff options
Diffstat (limited to 'src/main/webapp')
-rw-r--r-- | src/main/webapp/wayf.css | 18 | ||||
-rw-r--r-- | src/main/webapp/wayf.jsp | 117 |
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> |