search.js 5.96 KB
Newer Older
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
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
Joe TS Dell's avatar
update    
Joe TS Dell committed
6
7
8
    keys: ["item.title", "item.keywords",
        "item.author.firstName", "item.author.lastName"
    ]
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
9
}
Patrick's avatar
Patrick committed
10
11
12
const options_paper = {
    includeScore: true,
    // Search in `author` and in `tags` array
Patrick's avatar
Patrick committed
13
    keys: ["item.title", "item.keywords", "item.authors.lastName", "item.authors.firstName"
Joe TS Dell's avatar
update    
Joe TS Dell committed
14
    ]
Patrick's avatar
Patrick committed
15
}
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
16
17
18

// start search
var searchanswer
Patrick's avatar
Patrick committed
19
var searchanswer_paper
Joe TS Dell's avatar
update    
Joe TS Dell committed
20
21
22
23

function search() {
    const fuse = new Fuse(stuff, options);
    searchanswer = fuse.search(document.getElementById("search-input").value)
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
24
25
26
27
28
29
30
31
32
33
34

    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);
}
Joe TS Dell's avatar
update    
Joe TS Dell committed
35
36

function search_paper() {
Patrick's avatar
Patrick committed
37
    const fuse = new Fuse(stuff_paper, options_paper);
Joe TS Dell's avatar
update    
Joe TS Dell committed
38
    searchanswer_paper = fuse.search(document.getElementById("search-input_paper").value)
Patrick's avatar
Patrick committed
39
    document.getElementById("nextblock").style.display = "none";
Patrick's avatar
Patrick committed
40
41
42
43
44
45
46
47
48
49
    var new_row = document.getElementById("cont_paper")
    new_row.innerHTML = "";
    var searchLength = searchanswer_paper.length;
    for (var i = 0; i < searchLength; i++) {
        addpaper(searchanswer_paper[i].item);
        //Do something
    }
    // alert(searchanswer);
    console.log(searchanswer_paper);
}
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
50
51
52
//get json
// --- can be adapted if we load the content from the json
var stuff = []
Patrick's avatar
Patrick committed
53
var stuff_paper = []
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
54
55
56
57
58
59
60
61
62
63
64
// $.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());
//     });
Sini's avatar
Sini committed
65
66
67
68




Joe TS Dell's avatar
update    
Joe TS Dell committed
69
70
71
72
73
74
75
76
77
78
$(document).ready(function () {
    $.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
        }
Patrick's avatar
Patrick committed
79
80

        changeLang();
Joe TS Dell's avatar
update    
Joe TS Dell committed
81
    });
Sini's avatar
Sini committed
82

Joe TS Dell's avatar
update    
Joe TS Dell committed
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
    // get paper content is commented out for back up
    // $.getJSON("./content/paper2.json", function (result) {
    //     stuff_paper = result;
    //     var new_row = document.getElementById("cont_paper")
    //     new_row.innerHTML = "";
    //     var arrayLength = stuff_paper.length;
    //     for (var i = 0; i < arrayLength; i++) {

    //         if (Math.abs(arrayLength - i) <= max_paper_list) {
    //             console.log("close to " + i)
    //             addpaper(stuff_paper[i]);
    //         }
    //         //Do something
    //     }
    // });

99
100
    
    
Joe TS Dell's avatar
update    
Joe TS Dell committed
101

Joe TS Dell's avatar
up    
Joe TS Dell committed
102
    
Patrick's avatar
Patrick committed
103
104
105

});
function changeLang () {
Joe TS Dell's avatar
update    
Joe TS Dell committed
106
    var userLang = navigator.language || navigator.userLanguage;
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
107
    console.log("The language is: " + userLang);
Joe TS Dell's avatar
update    
Joe TS Dell committed
108
    if (userLang.includes("de")) {
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
109
110
111
112
113
        console.log(true)
        var select1 = document.getElementById('selectpicker1');
        console.log(select1)
        select1.value = "2";
        select1.dispatchEvent(new Event('change'));
Patrick's avatar
Patrick committed
114
115
116
117
118
    } else {
        var select1 = document.getElementById('selectpicker1');
        console.log(select1)
        select1.value = "1";
        select1.dispatchEvent(new Event('change'));
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
119
    }
Patrick's avatar
Patrick committed
120
}
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
121
122
123
124
125
126
127
128
129

// window.onload = function () {
//     var e = document.getElementById("selectpicker1");
//     e.value = 2;
//     e.dispatchEvent(new Event('change'));
// };


// searchbar and start search
Joe TS Dell's avatar
update    
Joe TS Dell committed
130
function searchToggle(obj, evt) {
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
131
132
    console.log("arrive")
    var container = $(obj).closest('.search-wrapper');
Joe TS Dell's avatar
update    
Joe TS Dell committed
133
134
135
136
137
138
139
140
141
142
143
144
145
146
    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")
        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
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
147
        }
Joe TS Dell's avatar
update    
Joe TS Dell committed
148
149
150
151
152
153
        container.find('.search-input').val('');
    } else {
        console.log("search")
        search();
        // addcontent();
    }
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
154
}
Joe TS Dell's avatar
update    
Joe TS Dell committed
155
156

function searchToggle_paper(obj, evt) {
Patrick's avatar
Patrick committed
157
158
    console.log("arrive")
    var container = $(obj).closest('.search-wrapper');
Joe TS Dell's avatar
update    
Joe TS Dell committed
159
160
161
162
163
164
165
166
167
168
169
170
    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")
        var new_row = document.getElementById("cont_paper")
        new_row.innerHTML = "";
        var arrayLength = stuff_paper.length;
        for (var i = 0; i < arrayLength; i++) {
Patrick's avatar
Patrick committed
171
172
            document.getElementById("nextblock").style.display = "block";
            if (i <= max_paper_list) {
Joe TS Dell's avatar
update    
Joe TS Dell committed
173
                addpaper(stuff_paper[i]);
Patrick's avatar
Patrick committed
174
            }
Joe TS Dell's avatar
update    
Joe TS Dell committed
175
176

            //Do something
Patrick's avatar
Patrick committed
177
        }
Joe TS Dell's avatar
update    
Joe TS Dell committed
178
179
180
181
182
183
        container.find('#search-input_paper').val('');
    } else {
        console.log("search")
        search_paper();
        // addcontent();
    }
Patrick's avatar
Patrick committed
184
}
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
185
186
187

// search on enter
var input = document.getElementById("search-input");
Joe TS Dell's avatar
update    
Joe TS Dell committed
188
189
190
input.addEventListener("keyup", function (event) {
    if (event.keyCode === 13) {
        event.preventDefault();
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
191

Joe TS Dell's avatar
update    
Joe TS Dell committed
192
193
        document.getElementById("search-button").click();
    }
Patrick's avatar
Patrick committed
194
195
});

Patrick's avatar
Patrick committed
196
197
var input2 = document.getElementById("search-input_paper");
input2.addEventListener("keyup", function (event) {
Joe TS Dell's avatar
update    
Joe TS Dell committed
198
199
    if (event.keyCode === 13) {
        event.preventDefault();
Patrick's avatar
Patrick committed
200

Joe TS Dell's avatar
update    
Joe TS Dell committed
201
202
203
        document.getElementById("search-button_paper").click();
    }
});