search.js 7.3 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(jsonContent, options_paper); //stuff_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
    var new_row = document.getElementById("cont_paper")
    new_row.innerHTML = "";
    var searchLength = searchanswer_paper.length;
    for (var i = 0; i < searchLength; i++) {
Patrick's avatar
Patrick committed
44
45
46
47
48
        console.log(searchanswer_paper[i])
        if (searchanswer_paper[i].score < 0.5){
            addpaper(searchanswer_paper[i].item);
        }
        
Patrick's avatar
Patrick committed
49
50
51
52
53
        //Do something
    }
    // alert(searchanswer);
    console.log(searchanswer_paper);
}
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
54
55
56
//get json
// --- can be adapted if we load the content from the json
var stuff = []
Patrick's avatar
Patrick committed
57
var stuff_paper = []
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
58
59
60
61
62
63
64
65
66
67
68
// $.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
69
70
71
72




Patrick's avatar
Patrick committed
73
74

function changeLang () {
Joe TS Dell's avatar
update    
Joe TS Dell committed
75
    var userLang = navigator.language || navigator.userLanguage;
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
76
    console.log("The language is: " + userLang);
Joe TS Dell's avatar
update    
Joe TS Dell committed
77
    if (userLang.includes("de")) {
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
78
79
        console.log(true)
        var select1 = document.getElementById('selectpicker1');
Joe TS Dell's avatar
update    
Joe TS Dell committed
80
        // console.log(select1)
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
81
82
        select1.value = "2";
        select1.dispatchEvent(new Event('change'));
Patrick's avatar
Patrick committed
83
84
    } else {
        var select1 = document.getElementById('selectpicker1');
Joe TS Dell's avatar
update    
Joe TS Dell committed
85
        // console.log(select1)
Patrick's avatar
Patrick committed
86
87
        select1.value = "1";
        select1.dispatchEvent(new Event('change'));
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
88
    }
Patrick's avatar
Patrick committed
89
}
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
90
91
92
93
94
95
96
97
98

// 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
99
function searchToggle(obj, evt) {
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
100
101
    console.log("arrive")
    var container = $(obj).closest('.search-wrapper');
Joe TS Dell's avatar
update    
Joe TS Dell committed
102
103
104
105
106
107
108
109
110
111
112
113
114
115
    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
116
        }
Joe TS Dell's avatar
update    
Joe TS Dell committed
117
118
119
120
121
122
        container.find('.search-input').val('');
    } else {
        console.log("search")
        search();
        // addcontent();
    }
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
123
}
Joe TS Dell's avatar
update    
Joe TS Dell committed
124
125

function searchToggle_paper(obj, evt) {
Patrick's avatar
Patrick committed
126
127
    console.log("arrive")
    var container = $(obj).closest('.search-wrapper');
Joe TS Dell's avatar
update    
Joe TS Dell committed
128
129
130
131
    if (!container.hasClass('active')) {
        container.addClass('active');
        evt.preventDefault();
        console.log("first")
Patrick's avatar
Patrick committed
132
        
Joe TS Dell's avatar
update    
Joe TS Dell committed
133
134
135
136
137
138
139
140
    } 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
141
142
            document.getElementById("nextblock").style.display = "block";
            if (i <= max_paper_list) {
Joe TS Dell's avatar
update    
Joe TS Dell committed
143
                addpaper(stuff_paper[i]);
Patrick's avatar
Patrick committed
144
            }
Joe TS Dell's avatar
update    
Joe TS Dell committed
145
146

            //Do something
Patrick's avatar
Patrick committed
147
        }
Patrick's avatar
Patrick committed
148
149
150
151
152
        for (var j = 0; j < 6; j++) {
            addpaper(jsonContent[j]);
            //Do something
        }
        document.getElementById("nextblock").style.display = "block";
Joe TS Dell's avatar
update    
Joe TS Dell committed
153
154
155
156
157
158
        container.find('#search-input_paper').val('');
    } else {
        console.log("search")
        search_paper();
        // addcontent();
    }
Patrick's avatar
Patrick committed
159
}
JOE Thunyathep S's avatar
up  
JOE Thunyathep S committed
160
161
162

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

Joe TS Dell's avatar
update    
Joe TS Dell committed
167
168
        document.getElementById("search-button").click();
    }
Patrick's avatar
Patrick committed
169
170
});

Patrick's avatar
Patrick committed
171
172
var input2 = document.getElementById("search-input_paper");
input2.addEventListener("keyup", function (event) {
Joe TS Dell's avatar
update    
Joe TS Dell committed
173
174
    if (event.keyCode === 13) {
        event.preventDefault();
Patrick's avatar
Patrick committed
175

Joe TS Dell's avatar
update    
Joe TS Dell committed
176
177
        document.getElementById("search-button_paper").click();
    }
Joe TS Dell's avatar
update    
Joe TS Dell committed
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
});
$(document).ready(function () {
    console.log("document ready")
    $.getJSON("./content/content.json", function (result) {
        console.log("content.json ==> HTML")
        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
        }

        $.getJSON("./content/team.json", function(result){ 
            console.log("team.json ==> HTML")
            team = result;
            var new_row = document.getElementById("team-section")
            new_row.innerHTML = "";
            var arrayLength = team.length;
            for (var i = 0; i < arrayLength; i++) {
                addTeam(team[i]);
                //Do something
            }
        });
        changeLang();
    });
    var currentYear = new Date().getFullYear();
    document.getElementById('current-year').innerHTML = currentYear;   

    // get the keyword parameter
    
    if (urlKeyword !== null) {
        console.log(`url Keyword: ${urlKeyword}`)
        // insert keyword parameter
        $("#search-input").val(urlKeyword, function(){
            console.log("trigger the search")
            document.getElementById("search-button").click();
          });
        $("#search-input_paper").val(urlKeyword);
        // apply keyword parameter
    }
    


    // 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
    //     }
    // });

    
    

    

Joe TS Dell's avatar
update    
Joe TS Dell committed
244
});