@@ -25,36 +25,47 @@ var executeApiFetch = function(sitekey, type, settings, cb) {
2525 return ;
2626 }
2727
28- // Keyword
29- let kw = settings . keyword ;
28+ // Keyword and query string
29+ var kw = '' ;
30+ var qs = '' ;
3031
31- // Boolean operators (AND, OR, NOT) uppercase
32- kw = kw . replace ( / a n d / g, ' AND ' ) . replace ( / o r / g, ' OR ' ) . replace ( / n o t / g, ' NOT ' ) ;
32+ // Search
33+ if ( type === 'search' ) {
34+ // Keyword
35+ kw = settings . keyword ;
3336
34- // Escape
35- kw = encodeURIComponent ( kw ) ;
37+ // Boolean operators (AND, OR, NOT) uppercase
38+ kw = kw . replace ( / a n d / g , ' AND ' ) . replace ( / o r / g , ' OR ' ) . replace ( / n o t / g , ' NOT ' ) ;
3639
37- // Construct query string from settings
38- var qs = '' ;
39- if ( type === 'search' ) {
40- qs = settingToQueryParam ( settings . lang , 'lang' ) +
41- settingToQueryParam ( settings . fuzzy , 'fuzzy' ) +
42- settingToQueryParam ( settings . categories , 'categories' ) +
43- settingToQueryParam ( settings . dateFrom , 'dateFrom' ) +
44- settingToQueryParam ( settings . dateTo , 'dateTo' ) +
45- settingToQueryParam ( settings . paging . page , 'page' ) +
46- settingToQueryParam ( settings . paging . pageSize , 'limit' ) +
47- settingToQueryParam ( settings . paging . sortBy , 'sort' ) +
48- settingToQueryParam ( settings . paging . sortOrder , 'order' ) ;
40+ // Escape
41+ kw = encodeURIComponent ( kw ) ;
4942
50- // Add custom field filters
51- if ( settings . customFieldFilters ) {
52- for ( var i = 0 ; i < settings . customFieldFilters . length ; i ++ ) {
53- qs = qs + '&customField=' + settings . customFieldFilters [ i ] ;
43+ // Construct query string from settings
44+ if ( type === 'search' ) {
45+ qs = settingToQueryParam ( settings . lang , 'lang' ) +
46+ settingToQueryParam ( settings . fuzzy , 'fuzzy' ) +
47+ settingToQueryParam ( settings . categories , 'categories' ) +
48+ settingToQueryParam ( settings . dateFrom , 'dateFrom' ) +
49+ settingToQueryParam ( settings . dateTo , 'dateTo' ) +
50+ settingToQueryParam ( settings . paging . page , 'page' ) +
51+ settingToQueryParam ( settings . paging . pageSize , 'limit' ) +
52+ settingToQueryParam ( settings . paging . sortBy , 'sort' ) +
53+ settingToQueryParam ( settings . paging . sortOrder , 'order' ) ;
54+
55+ // Add custom field filters
56+ if ( settings . customFieldFilters ) {
57+ for ( var i = 0 ; i < settings . customFieldFilters . length ; i ++ ) {
58+ qs = qs + '&customField=' + settings . customFieldFilters [ i ] ;
59+ }
5460 }
5561 }
5662 }
5763
64+ // Suggest
65+ else if ( type === 'suggest' ) {
66+ kw = settings . suggestionsPrefix ;
67+ }
68+
5869
5970 // Execute API call
6071 fetch ( 'https://api.addsearch.com/v1/' + type + '/' + sitekey + '?term=' + kw + qs )
0 commit comments