search.js 3.17 KB
Newer Older
1
2
3
4
5
// search options
// --- needs to be adapted to the form of our content
const options = {
    includeScore: true,
    // Search in `author` and in `tags` array
Patrick's avatar
Patrick committed
6
    keys: ["item.title","item.keywords",
7
8
9
10
11
12
13
14
15
    "item.author.firstName", "item.author.lastName"]
}

// start search
var searchanswer
function search(){
    const fuse  = new Fuse(stuff, options);
    searchanswer = fuse.search(document.getElementById("search-input").value) 

Patrick's avatar
Patrick committed
16
17
18
19
20
21
22
23
24
    var new_row = document.getElementById("row_main")
    new_row.innerHTML = "";
    var searchLength = searchanswer.length;
    for (var i = 0; i < searchLength; i++) {
        addcontent(searchanswer[i].item);
        //Do something
    }
    // alert(searchanswer);
    console.log(searchanswer);
25
26
27
28
29
}
 
//get json
// --- can be adapted if we load the content from the json
var stuff = []
Patrick's avatar
Patrick committed
30
31
32
33
34
35
36
37
38
39
40
// $.getJSON("./content/content.json", function(result){
//     stuff = result;
//     var new_row = document.getElementById("row_main")
//     new_row.innerHTML = "";
//     var arrayLength = stuff.length;
//     for (var i = 0; i < arrayLength; i++) {
//         addcontent(stuff[i]);
//         //Do something
//     }
//     // stuff.forEach(addcontent());
//     });
41
42
43
$(document).ready(function(){
    $.getJSON("./content/content.json", function(result){
    stuff = result;
Patrick's avatar
Patrick committed
44
45
46
47
48
49
50
    var new_row = document.getElementById("row_main")
    new_row.innerHTML = "";
    var arrayLength = stuff.length;
    for (var i = 0; i < arrayLength; i++) {
        addcontent(stuff[i]);
        //Do something
    }
51
    });
Patrick's avatar
Patrick committed
52
53
54
55
56
57
58
59
60
    var userLang = navigator.language || navigator.userLanguage; 
    console.log("The language is: " + userLang);
    if (userLang.includes("de")){
        console.log(true)
        var select1 = document.getElementById('selectpicker1');
        console.log(select1)
        select1.value = "2";
        select1.dispatchEvent(new Event('change'));
    }
61
62
});

Patrick's avatar
Patrick committed
63
64
65
66
67
68
// window.onload = function () {
//     var e = document.getElementById("selectpicker1");
//     e.value = 2;
//     e.dispatchEvent(new Event('change'));
// };

69
70
71
72
73
74
75
76
77
78
79
80
81
82

// searchbar and start search
function searchToggle(obj, evt){
    console.log("arrive")
    var container = $(obj).closest('.search-wrapper');
        if(!container.hasClass('active')){
            container.addClass('active');
            evt.preventDefault();
            console.log("first")
        }
        else if(container.hasClass('active') && $(obj).closest('.input-holder').length == 0){
            container.removeClass('active');
            // clear input
            console.log("second")
Patrick's avatar
Patrick committed
83
84
85
86
87
88
89
            var new_row = document.getElementById("row_main")
            new_row.innerHTML = "";
            var arrayLength = stuff.length;
            for (var i = 0; i < arrayLength; i++) {
                addcontent(stuff[i]);
                //Do something
            }
90
91
92
93
            container.find('.search-input').val('');
        } else {
            console.log("search")
            search();
Patrick's avatar
Patrick committed
94
            // addcontent();
95
96
97
98
99
100
101
102
103
104
105
106
        }
}

// search on enter
var input = document.getElementById("search-input");
input.addEventListener("keyup", function(event) {
  if (event.keyCode === 13) {
   event.preventDefault();

   document.getElementById("search-button").click();
  }
});