* Avoid redundant hard-wiring of main path in JS code
* Fix `<<' and `>>' events * No "provided from" for ids without modules svn: r10032
This commit is contained in:
parent
73f4a8dc74
commit
65e3a0d0ee
|
@ -25,7 +25,7 @@
|
||||||
(string<? (car a) (car b)))]
|
(string<? (car a) (car b)))]
|
||||||
[else (string-ci<? (car a) (car b))])))
|
[else (string-ci<? (car a) (car b))])))
|
||||||
|
|
||||||
(define (make-script renderer sec ri)
|
(define (make-script user-dir? renderer sec ri)
|
||||||
(define l null)
|
(define l null)
|
||||||
(define span-classes null)
|
(define span-classes null)
|
||||||
;; To make the index smaller, html contents is represented as one of these:
|
;; To make the index smaller, html contents is represented as one of these:
|
||||||
|
@ -36,7 +36,9 @@
|
||||||
;; In addition, a "file:/main-doc.../path..." url is saved as ">path..."
|
;; In addition, a "file:/main-doc.../path..." url is saved as ">path..."
|
||||||
;; This function does the url compacting.
|
;; This function does the url compacting.
|
||||||
(define main-url ; (make sure that it teminates with a slash)
|
(define main-url ; (make sure that it teminates with a slash)
|
||||||
(regexp-replace #rx"/*$" (url->string (path->url (find-doc-dir))) "/"))
|
(if user-dir?
|
||||||
|
(regexp-replace #rx"/*$" (url->string (path->url (find-doc-dir))) "/")
|
||||||
|
"../"))
|
||||||
(define compact-url
|
(define compact-url
|
||||||
(let ([rx (regexp (string-append "^" (regexp-quote main-url)))])
|
(let ([rx (regexp (string-append "^" (regexp-quote main-url)))])
|
||||||
(lambda (url) (regexp-replace rx url ">"))))
|
(lambda (url) (regexp-replace rx url ">"))))
|
||||||
|
@ -154,25 +156,25 @@
|
||||||
+'<table width="100%">'
|
+'<table width="100%">'
|
||||||
+'<tr><td align="center" colspan="3">'
|
+'<tr><td align="center" colspan="3">'
|
||||||
+'<input type="text" id="search_box" style="width: 100%;"'
|
+'<input type="text" id="search_box" style="width: 100%;"'
|
||||||
+'onchange="key_handler(event);"'
|
+' onchange="key_handler(event);"'
|
||||||
+'onkeypress="return key_handler(event);" />'
|
+' onkeypress="return key_handler(event);" />'
|
||||||
+'</td></tr>'
|
+'</td></tr>'
|
||||||
+'<tr><td align="left">'
|
+'<tr><td align="left">'
|
||||||
+'<a href="#" title="Previous Page"'
|
+'<a href="#" title="Previous Page"'
|
||||||
+'onclick="key_handler(\"PgUp\"); return false;"'
|
+' onclick="key_handler(\'PgUp\'); return false;"'
|
||||||
+'><tt><b><<</b></tt></a>'
|
+'><tt><b><<</b></tt></a>'
|
||||||
+'</td><td align="center">'
|
+'</td><td align="center">'
|
||||||
+'<span id="search_status" style="color: #601515; font-weight: bold;">'
|
+'<span id="search_status" style="color: #601515; font-weight: bold;">'
|
||||||
+' '
|
+' '
|
||||||
+'</span>'
|
+'</span>'
|
||||||
+'</td><td align="right">'
|
+'</td><td align="right">'
|
||||||
+'<a href="#" title="Next Page"'
|
+'<a href="#" title="Next Page"'
|
||||||
+'onclick="key_handler(\"PgDn\"); return false;"'
|
+' onclick="key_handler(\'PgDn\'); return false;"'
|
||||||
+'><tt><b>>></b></tt></a>'
|
+'><tt><b>>></b></tt></a>'
|
||||||
+'</td></tr>'
|
+'</td></tr>'
|
||||||
+'<tr><td colspan="3">'
|
+'<tr><td colspan="3">'
|
||||||
+'<span id="search_result"'
|
+'<span id="search_result"'
|
||||||
+'style="display: none; margin: 0.5em 1em;"></span>'
|
+' style="display: none; margin: 0.5em 1em;"></span>'
|
||||||
+'</td></tr>'
|
+'</td></tr>'
|
||||||
+'</table>';
|
+'</table>';
|
||||||
// get the query box
|
// get the query box
|
||||||
|
@ -276,13 +278,11 @@
|
||||||
for (var i=0@";" i<result_links.length@";" i++) {
|
for (var i=0@";" i<result_links.length@";" i++) {
|
||||||
var n = i + first_search_result;
|
var n = i + first_search_result;
|
||||||
if (n < search_results.length) {
|
if (n < search_results.length) {
|
||||||
var desc = "";
|
var desc = "", libs = search_results[n][3];
|
||||||
if (search_results[n][3]) {
|
if (libs && (libs.length > 0)) {
|
||||||
for (var j=0@";" j<search_results[n][3].length@";" j++)
|
for (var j=0@";" j<libs.length@";" j++)
|
||||||
desc += (j==0 ? "" : ", " )
|
desc += (j==0 ? "" : ", " )
|
||||||
+ '<span class="schememod">'
|
+ '<span class="schememod">' + libs[j] + '</span>';
|
||||||
+ search_results[n][3][j]
|
|
||||||
+ '</span>';
|
|
||||||
desc = ' '
|
desc = ' '
|
||||||
+ '<span style="font-size: 80%;">'
|
+ '<span style="font-size: 80%;">'
|
||||||
+ '<span style="font-size: 80%;">provided from</span> '
|
+ '<span style="font-size: 80%;">provided from</span> '
|
||||||
|
@ -317,22 +317,30 @@
|
||||||
search_timer = null;
|
search_timer = null;
|
||||||
clearTimeout(t);
|
clearTimeout(t);
|
||||||
}
|
}
|
||||||
var key = event && event.keyCode;
|
var key = event;
|
||||||
if (key == 13) {
|
if (typeof event != "string") {
|
||||||
DoSearch();
|
switch (event.keyCode) {
|
||||||
return false;
|
case 13: key = "Enter"; break;
|
||||||
} else if (key == 33) {
|
case 33: key = "PgUp"; break;
|
||||||
DoSearch(); // in case we didn't update it yet
|
case 34: key = "PgDn"; break;
|
||||||
first_search_result -= results_num;
|
|
||||||
UpdateResults();
|
|
||||||
return false;
|
|
||||||
} else if (key == 34) {
|
|
||||||
DoSearch(); // in case we didn't update it yet
|
|
||||||
if (first_search_result + results_num < search_results.length) {
|
|
||||||
first_search_result += results_num;
|
|
||||||
UpdateResults();
|
|
||||||
}
|
}
|
||||||
return false;
|
}
|
||||||
|
switch (key) {
|
||||||
|
case "Enter":
|
||||||
|
DoSearch();
|
||||||
|
return false;
|
||||||
|
case "PgUp":
|
||||||
|
DoSearch(); // in case we didn't update it yet
|
||||||
|
first_search_result -= results_num;
|
||||||
|
UpdateResults();
|
||||||
|
return false;
|
||||||
|
case "PgDn":
|
||||||
|
DoSearch(); // in case we didn't update it yet
|
||||||
|
if (first_search_result + results_num < search_results.length) {
|
||||||
|
first_search_result += results_num;
|
||||||
|
UpdateResults();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
search_timer = setTimeout(DoSearch, 400);
|
search_timer = setTimeout(DoSearch, 400);
|
||||||
return true;
|
return true;
|
||||||
|
@ -345,10 +353,10 @@
|
||||||
})();
|
})();
|
||||||
})
|
})
|
||||||
|
|
||||||
(define (make-search)
|
(define (make-search user-dir?)
|
||||||
(make-splice
|
(make-splice
|
||||||
(list
|
(list
|
||||||
(make-delayed-block
|
(make-delayed-block
|
||||||
(lambda (r s i) (make-paragraph (list (make-script r s i)))))
|
(lambda (r s i) (make-paragraph (list (make-script user-dir? r s i)))))
|
||||||
(make-element (make-with-attributes #f '((id . "plt_search_container")))
|
(make-element (make-with-attributes #f '((id . "plt_search_container")))
|
||||||
null))))
|
null))))
|
||||||
|
|
|
@ -4,4 +4,4 @@
|
||||||
|
|
||||||
@main-page['search #t]
|
@main-page['search #t]
|
||||||
|
|
||||||
@make-search[]
|
@make-search[#f]
|
||||||
|
|
|
@ -4,4 +4,4 @@
|
||||||
|
|
||||||
@main-page['search #f]
|
@main-page['search #f]
|
||||||
|
|
||||||
@make-search[]
|
@make-search[#t]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user