X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=www%2Fiphone%2Fexample_client.js;h=cfae8ed1bb1c4a8a5acf5707d0c7103534831d77;hb=9dcc2862e93637695e496fd11fe0c69762baa06a;hp=fd9c37ee8eded2de4dadbbff82324efe729656ad;hpb=d7f1c93a49111cc48e2c78c1796472509b8397fe;p=pazpar2-moved-to-github.git diff --git a/www/iphone/example_client.js b/www/iphone/example_client.js index fd9c37e..cfae8ed 100644 --- a/www/iphone/example_client.js +++ b/www/iphone/example_client.js @@ -18,10 +18,10 @@ my_paz = new pz2( { "onshow": my_onshow, "pazpar2path": pazpar2path, "oninit": my_oninit, "onstat": my_onstat, - "onterm": my_onterm, + "onterm": my_onterm_iphone, "termlist": "xtargets,subject,author", "onbytarget": my_onbytarget, - "usesessions" : usesessions, + "usesessions" : usesessions, "showResponseType": showResponseType, "onrecord": my_onrecord } ); // some state vars @@ -36,6 +36,8 @@ var submitted = false; var SourceMax = 16; var SubjectMax = 10; var AuthorMax = 10; +var tab = "recordview"; + // // pz2.js event handlers: @@ -61,16 +63,16 @@ function my_onshow(data) { var html = []; for (var i = 0; i < data.hits.length; i++) { var hit = data.hits[i]; - html.push('
' - +''+ (i + 1 + recPerPage * (curPage - 1)) +'. ' + html.push('
  • ' + /* +''+ (i + 1 + recPerPage * (curPage - 1)) +'. ' */ +'' - + hit["md-title"] +' '); - if (hit["md-title-remainder"] !== undefined) { - html.push('' + hit["md-title-remainder"] + ' '); - } + +'" onclick="showDetails(this.id);return false;">' + + hit["md-title"] +' '); if (hit["md-title-responsibility"] !== undefined) { - html.push(''+hit["md-title-responsibility"]+''); + html.push(''+hit["md-title-responsibility"]+' '); + if (hit["md-title-remainder"] !== undefined) { + html.push('' + hit["md-title-remainder"] + ' '); + } } if (hit.recid == curDetRecId) { html.push(renderDetails(curDetRecData)); @@ -92,22 +94,64 @@ function my_onstat(data) { + '/' + data.hits + ' :.'; } +function showhide(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 == "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 == "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 = ''; +} + function my_onterm(data) { var termlists = []; - termlists.push('
    TERMLISTS:
    .::Sources
    '); + + termlists.push('
    '); + termlists.push('
    .::Sources
    '); for (var i = 0; i < data.xtargets.length && i < SourceMax; i++ ) { termlists.push('' + data.xtargets[i].name + ' (' + data.xtargets[i].freq + ')
    '); } + termlists.push('
    '); - termlists.push('
    .::Subjects
    '); + termlists.push('
    '); + termlists.push('
    .::Subjects
    '); for (var i = 0; i < data.subject.length && i < SubjectMax; i++ ) { termlists.push('' + data.subject[i].name + ' (' + data.subject[i].freq + ')
    '); } - - termlists.push('
    .::Authors
    '); + termlists.push('
    '); + + termlists.push('
    '); + termlists.push('
    .::Authors
    '); for (var i = 0; i < data.author.length && i < AuthorMax; i++ ) { termlists.push('' + data.author[i].name @@ -115,8 +159,76 @@ function my_onterm(data) { + data.author[i].freq + ')
    '); } + termlists.push('
    '); var termlist = document.getElementById("termlist"); replaceHtml(termlist, termlists.join('')); + var d; +/* + for (d in ("xtargets", "subjects", "authors")) { + alert(d); + if (tab == d) + document.getElementById("term_" + d).style.display = ''; + else + document.getElementById("term_" +d ).style.display = 'none'; + } +*/ + 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); + var targets = ""; + for (var i = 0; i < data.xtargets.length; i++ ) { + + targets = targets + data.xtargets[i].id + "|" + data.xtargets[i].name + "|" + data.xtargets[i].freq + "\n"; + } + termlist["xtargets"] = targets; + var subjects = ""; + for (var i = 0; i < data.subject.length; i++ ) { + subjects = subjects + "-" + "|" + data.subject[i].name + "|" + data.subject[i].freq + "\n"; + } + termlist["subjects"] = subjects; + var authors = ""; + for (var i = 0; i < data.author.length; i++ ) { + authors = authors + "-" + "|" + 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"); +} + +function getTargets() { + return termlist['xtargets']; +} + +function getSubjects() { + return termlist['subjects']; +} + +function getAuthors() { + return termlist['authors']; } function my_onrecord(data) { @@ -131,6 +243,12 @@ function my_onrecord(data) { recordDiv.innerHTML += html; } +function my_onrecord_iphone(data) { + my_onrecord(data); + callback.send("record", data.recid, data, data.xtargets[i].freq); +} + + function my_onbytarget(data) { var targetDiv = document.getElementById("bytarget"); var table ='' @@ -158,8 +276,24 @@ function domReady () document.search.query.value = ''; document.select.sort.onchange = onSelectDdChange; document.select.perpage.onchange = onSelectDdChange; + applicationMode(true); +} + +function applicationMode(newmode) +{ + var searchdiv = document.getElementById("searchForm"); + if (newmode) + inApp = newmode; + if (inApp) { + document.getElementById("heading").style.display="none"; + searchdiv.style.display = 'none'; + } + else { + searchdiv.style.display = ''; + document.search.onsubmit = onFormSubmit; + } + callback.init(); } - // when search button pressed function onFormSubmitEventHandler() { @@ -201,6 +335,7 @@ function limitQuery (field, value) { document.search.query.value += ' and ' + field + '="' + value + '"'; onFormSubmitEventHandler(); + showhide("recordview"); } // limit by target functions @@ -215,6 +350,7 @@ function limitTarget (id, name) resetPage(); loadSelect(); triggerSearch(); + showhide("recordview"); return false; }
    Target IDHitsDiags