3
3
var executeApiFetch = require ( './apifetch' ) ;
4
4
var Settings = require ( './settings' ) ;
5
5
var util = require ( './util' ) ;
6
+ var sendClickHit = require ( './stats' ) ;
6
7
7
8
var client = function ( sitekey ) {
8
9
this . sitekey = sitekey ;
@@ -18,14 +19,22 @@ var client = function(sitekey) {
18
19
*/
19
20
this . search = function ( a1 , a2 ) {
20
21
21
- var keyword = a1 ;
22
- var callback = a2 ;
22
+ var keyword = null ;
23
+ var callback = null ;
23
24
25
+ // Keyword and callback
26
+ if ( a1 && util . isFunction ( a2 ) ) {
27
+ keyword = a1 ;
28
+ callback = a2 ;
29
+ }
24
30
// If function is called with callback only, use previous keyword from settings object
25
- if ( ! a2 && util . isFunction ( a1 ) ) {
31
+ else if ( ! a2 && util . isFunction ( a1 ) ) {
26
32
keyword = this . settings . getSettings ( ) . keyword ;
27
33
callback = a1 ;
28
34
}
35
+ else {
36
+ throw "Illegal search parameters. Should be (keyword, callbackFunction) or just (callbackFunction)" ;
37
+ }
29
38
30
39
this . settings . setKeyword ( keyword ) ;
31
40
executeApiFetch ( this . sitekey , 'search' , this . settings . getSettings ( ) , callback ) ;
@@ -55,7 +64,7 @@ var client = function(sitekey) {
55
64
this . setPaging = function ( page , pageSize , sortBy , sortOder ) { this . settings . setPaging ( page , pageSize , sortBy , sortOder ) ; }
56
65
this . nextPage = function ( ) { this . settings . nextPage ( ) ; }
57
66
this . previousPage = function ( ) { this . settings . previousPage ( ) ; }
58
-
67
+ this . hitClicked = function ( docid , position ) { sendClickHit ( this . sitekey , this . settings . getSettings ( ) . keyword , docid , position ) ; }
59
68
}
60
69
61
70
module . exports = client ;
0 commit comments