Skip to content

Commit c0a0600

Browse files
author
Jörg Schlötterer
committed
explanation
1 parent a19e87b commit c0a0600

File tree

3 files changed

+59
-1
lines changed

3 files changed

+59
-1
lines changed

SearchResultListVis/index.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@
99
<!--<link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>-->
1010
<title></title>
1111
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
12-
12+
<style>
13+
.eexcess-highlight-fade {
14+
-webkit-filter: grayscale(100%);
15+
opacity: 0.3;
16+
}
17+
</style>
1318
</head>
1419
<body>
1520

SearchResultListVis/js/helperMethods.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
var currentFilter;
2+
var dict = {};
23

34
$(document).ready(function () {
45

@@ -103,6 +104,39 @@ function addIsotopeGrid(msg) {
103104
else {
104105
var $items = $(addGridResultItems(msg));
105106
$('.eexcess_empty_result').hide();
107+
// add full result data to items
108+
msg.data.data.result.forEach(function (val, idx) {
109+
var item = $($items[idx]);
110+
item.data('result', val);
111+
val.title.split(/[ .?!-:;,]+/).forEach(function (val) {
112+
val = val.toLowerCase();
113+
if (val.length > 3) {
114+
if (dict[val]) {
115+
dict[val].push($($items[idx]));
116+
} else {
117+
dict[val] = [$($items[idx])];
118+
}
119+
}
120+
});
121+
item.hover(function (e) {
122+
$('.eexcess-isotope-grid-item').addClass('eexcess-highlight-fade');
123+
var terms = $(this).data('result').title.split(/[ .?!-:;,]+/);
124+
terms.forEach(function (val) {
125+
val = val.toLowerCase();
126+
if (dict[val]) {
127+
dict[val].forEach(function (tile) {
128+
tile.addClass('eexcess-highlight-item');
129+
tile.removeClass('eexcess-highlight-fade');
130+
});
131+
}
132+
});
133+
window.top.postMessage({event: 'eexcess.explanation.highlight', data: terms}, '*');
134+
}, function (e) {
135+
$('.eexcess-isotope-grid-item').removeClass('eexcess-highlight-item');
136+
$('.eexcess-isotope-grid-item').removeClass('eexcess-highlight-fade');
137+
window.top.postMessage({event: 'eexcess.explanation.unhighlight'}, '*');
138+
});
139+
});
106140

107141

108142
//init isotope

SearchResultListVis/js/msgListeners.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,25 @@ window.onmessage = function (msg) {
2929

3030
} else if (msg.data.event === 'eexcess.error') {
3131
$(showError(msg.data.data));
32+
} else if (msg.data.event === 'eexcess.explanation.highlight') {
33+
//$('.eexcess-isotope-grid-item').removeClass('eexcess-highlight-item');
34+
$('.eexcess-isotope-grid-item').addClass('eexcess-highlight-fade');
35+
msg.data.data.forEach(function (val) {
36+
val = val.toLowerCase();
37+
if (dict[val]) {
38+
dict[val].forEach(function (val2) {
39+
if (val2.is(':visible')) {
40+
val2.addClass('eexcess-highlight-item');
41+
val2.removeClass('eexcess-highlight-fade');
42+
}
43+
});
44+
}
45+
})
46+
} else if (msg.data.event === 'eexcess.explanation.unhighlight') {
47+
$('.eexcess-isotope-grid-item').removeClass('eexcess-highlight-item');
48+
$('.eexcess-isotope-grid-item').removeClass('eexcess-highlight-fade');
49+
} else if (msg.data.event === 'eexcess.results.filter') {
50+
$('.eexcess-isotope-grid').isotope({filter: '.eexcess-highlight-item'});
3251
}
3352

3453
}

0 commit comments

Comments
 (0)