X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=www%2Fiphone%2Fexample_client.js;h=9761e831996dcb6ebcedc53d1438c9d6941e5e9a;hb=01f19b8c3664fa1c78d1fb9efb8e358d50f85c39;hp=d9b9fedc2fa9a9e669a0ca77ce8edb7bba7dd3fb;hpb=5b9f0fb26f7500cec299e9c4d031d6804a3d84f7;p=pazpar2-moved-to-github.git diff --git a/www/iphone/example_client.js b/www/iphone/example_client.js index d9b9fed..9761e83 100644 --- a/www/iphone/example_client.js +++ b/www/iphone/example_client.js @@ -12,9 +12,10 @@ var querys = {'su': '', 'au': '', 'xt': ''}; if (document.location.hash == '#useproxy' || document.location.search.match("useproxy=true")) { usesessions = false; pazpar2path = '/service-proxy/'; - showResponseType = 'xml'; + showResponseType = 'json'; } + my_paz = new pz2( { "onshow": my_onshow, "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way "pazpar2path": pazpar2path, @@ -23,7 +24,7 @@ my_paz = new pz2( { "onshow": my_onshow, "onterm": my_onterm_iphone, "termlist": "xtargets,subject,author", "onbytarget": my_onbytarget, - "usesessions" : usesessions, + "usesessions" : usesessions, "showResponseType": showResponseType, "onrecord": my_onrecord } ); // some state vars @@ -33,13 +34,39 @@ var totalRec = 0; var curDetRecId = ''; var curDetRecData = null; var curSort = 'relevance'; -var curFilter = null; +var curFilter = 'ALL'; var submitted = false; var SourceMax = 16; var SubjectMax = 10; var AuthorMax = 10; var tab = "recordview"; +var triedPass = ""; +var triedUser = ""; + +function loginFormSubmit() { + triedUser = document.loginForm.username.value; + triedPass = document.loginForm.password.value; + auth.login( {"username": triedUser, + "password": triedPass}, + authCb, authCb); +} + +function authCb(authData) { + if (!authData.loginFailed) { + triedUser = ""; + triedPass = ""; + } + + if (authData.loggedIn == true) { + showhide("recordview"); + } +} + +function logOutClick() { + auth.logOut(authCb, authCb); +} + function loggedOut() { var login = document.getElementById("login"); login.innerHTML = 'Login'; @@ -50,29 +77,29 @@ function loggingOutFailed() { } function login() { - window.location = "login.html"; + showhide("login"); } function logout() { - auth.logOut(loggedOut, loggingOutFailed, false); + auth.logOut(loggedOut, loggingOutFailed, true); } function logInOrOut() { var loginElement = document.getElementById("login"); if (loginElement.innerHTML == 'Login') - login(); + login(); else - logout(); + logout(); } function loggedIn() { var login = document.getElementById("login"); - login.innerHTML = 'Logout'; - // login.onclick = 'logout();'; - domReady(); + login.innerHTML = 'Logout(' + auth.displayName + ')'; + document.getElementById("log").innerHTML = login.innerHTML; } function auth_check() { - auth.check(loggedIn, login); + auth.check(loggedIn, login, true); + domReady(); } // @@ -131,41 +158,49 @@ function my_onstat(data) { } function showhide(newtab) { - var showtermlist = false; - if (newtab != null) - tab = newtab; + var showtermlist = false; + if (newtab != null) + tab = newtab; + + if (tab == "recordview") { + document.getElementById("recordview").style.display = ''; + } + else + document.getElementById("recordview").style.display = 'none'; - if (tab == "recordview") { - document.getElementById("recordview").style.display = ''; - } - else - document.getElementById("recordview").style.display = 'none'; + if (tab == "xtargets") { + document.getElementById("term_xtargets").style.display = ''; + showtermlist = true; + } + else + document.getElementById("term_xtargets").style.display = 'none'; - if (tab == "xtargets") { - document.getElementById("term_xtargets").style.display = ''; - showtermlist = true; - } - else - document.getElementById("term_xtargets").style.display = 'none'; + if (tab == "subjects") { + document.getElementById("term_subjects").style.display = ''; + showtermlist = true; + } + else + document.getElementById("term_subjects").style.display = 'none'; - if (tab == "subjects") { - document.getElementById("term_subjects").style.display = ''; - showtermlist = true; - } - else - document.getElementById("term_subjects").style.display = 'none'; + if (tab == "authors") { + document.getElementById("term_authors").style.display = ''; + showtermlist = true; + } + else + document.getElementById("term_authors").style.display = 'none'; - if (tab == "authors") { - document.getElementById("term_authors").style.display = ''; - showtermlist = true; - } - else - document.getElementById("term_authors").style.display = 'none'; + if (showtermlist == false) + document.getElementById("termlist").style.display = 'none'; + else + document.getElementById("termlist").style.display = ''; - if (showtermlist == false) - document.getElementById("termlist").style.display = 'none'; - else - document.getElementById("termlist").style.display = ''; + var tabDiv = document.getElementById("loginDiv"); + if (tab == "login") { + tabDiv.style.display = ''; + } + else { + tabDiv.style.display = 'none'; + } } function my_onterm(data) { @@ -212,27 +247,6 @@ function my_onterm(data) { showhide(); } -function serialize(array) { - var t = typeof (obj); - if (t != "object" || obj === null) { - // simple data type - return String(obj); - } else { - // recurse array or object - var n, v, json = [], arr = (obj && obj.constructor == Array); - for (n in obj) { - v = obj[n]; - t = typeof (v); - if (t == "string") - v = '"' + v + '"'; - else if (t == "object" && v !== null) - v = JSON.stringify(v); - json.push((arr ? "" : '"' + n + '":') + String(v)); - } - return (arr ? "" : "") + String(json) + (arr ? "]" : "}"); - } -} - var termlist = {}; function my_onterm_iphone(data) { my_onterm(data); @@ -253,7 +267,6 @@ function my_onterm_iphone(data) { authors = authors + "au" + "|" + data.author[i].name + "|" + data.author[i].freq + "\n"; } termlist["authors"] = authors; - //document.getElementById("log").innerHTML = targets + "\n" + subjects + "\n" + authors; callback.send("termlist", "refresh"); } @@ -330,6 +343,7 @@ function applicationMode(newmode) searchdiv.style.display = 'none'; } else { + document.getElementById("nav").style.display=""; searchdiv.style.display = ''; document.search.onsubmit = onFormSubmit; } @@ -343,7 +357,7 @@ function onFormSubmitEventHandler() loadSelect(); triggerSearch(); submitted = true; - return false; + return true; } function onSelectDdChange() @@ -416,7 +430,7 @@ function limitTarget (id, name) function delimitTarget () { - curFilter = null; + curFilter = 'ALL'; resetPage(); loadSelect(); triggerSearch(); @@ -606,7 +620,8 @@ function renderDetails_iphone(data, marker) { //return renderDetails(data,marker); - + if (!data) + return ""; var details = '
' /* details = '