Adding support for searching in page. (Mainly for Android app)
This commit is contained in:
parent
27452ed3fb
commit
d16ff46a85
@ -64,12 +64,27 @@ function addListenersSearch() {
|
|||||||
if (searchMobile !== null) {
|
if (searchMobile !== null) {
|
||||||
const searchIcon = searchMobile.querySelector('div.search-icon')
|
const searchIcon = searchMobile.querySelector('div.search-icon')
|
||||||
searchIcon.addEventListener('click', onFakeSearchClick);
|
searchIcon.addEventListener('click', onFakeSearchClick);
|
||||||
fakeSearchInput.addEventListener('change', (e) => {
|
fakeSearchInput.addEventListener('keydown', (e) => {
|
||||||
|
if (e.code !== 'Enter') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
const searchOverlay = document.querySelector('div.search-overlay');
|
const searchOverlay = document.querySelector('div.search-overlay');
|
||||||
const searchInput = searchOverlay.querySelector('div.search input');
|
const searchInput = searchOverlay.querySelector('div.search input');
|
||||||
searchInput.value = fakeSearchInput.value;
|
searchInput.value = fakeSearchInput.value;
|
||||||
onSearchChange(e)
|
onSearchChange(e)
|
||||||
onFakeSearchClick(e)
|
onFakeSearchClick(e)
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const nextResult = searchMobile.querySelector('div.down');
|
||||||
|
const prevResult = searchMobile.querySelector('div.up');
|
||||||
|
if (nextResult !== null && prevResult !== null) {
|
||||||
|
nextResult.addEventListener('click', () => {
|
||||||
|
searchInWebsite(fakeSearchInput.value, true);
|
||||||
|
});
|
||||||
|
prevResult.addEventListener('click', () => {
|
||||||
|
console.log('hola')
|
||||||
|
searchInWebsite(fakeSearchInput.value, false);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const exitSearch = document.querySelector('a.exit-search')
|
const exitSearch = document.querySelector('a.exit-search')
|
||||||
@ -89,6 +104,10 @@ function addListenersSearch() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function searchInWebsite(value, isToBottom) {
|
||||||
|
window.find(value, false, !isToBottom, true);
|
||||||
|
}
|
||||||
|
|
||||||
function _port() {
|
function _port() {
|
||||||
let port = window.location.port;
|
let port = window.location.port;
|
||||||
if (port !== '') {
|
if (port !== '') {
|
||||||
|
@ -40,6 +40,8 @@ body {
|
|||||||
height: 60px;
|
height: 60px;
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
margin-right: 0px; }
|
margin-right: 0px; }
|
||||||
|
body div.search-overlay div.bounding-search-bar div.up, body div.search-overlay div.bounding-search-bar div.down {
|
||||||
|
display: none; }
|
||||||
body div.search-overlay div.bounding-search-bar a.exit-search {
|
body div.search-overlay div.bounding-search-bar a.exit-search {
|
||||||
width: 60px;
|
width: 60px;
|
||||||
background: whitesmoke;
|
background: whitesmoke;
|
||||||
@ -54,7 +56,7 @@ body {
|
|||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
display: flex; }
|
display: flex; }
|
||||||
body div.search div.search-icon {
|
body div.search div.search-icon, body div.search div.down, body div.search div.up {
|
||||||
height: calc(100% - 28px);
|
height: calc(100% - 28px);
|
||||||
display: flex;
|
display: flex;
|
||||||
background: aliceblue;
|
background: aliceblue;
|
||||||
@ -64,8 +66,11 @@ body {
|
|||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
border: solid gray 1px;
|
border: solid gray 1px;
|
||||||
aspect-ratio: 1/1; }
|
aspect-ratio: 1/1; }
|
||||||
body div.search div.search-icon img {
|
body div.search div.search-icon img, body div.search div.down img, body div.search div.up img {
|
||||||
height: 80%; }
|
height: 80%; }
|
||||||
|
body div.search div.down, body div.search div.up {
|
||||||
|
margin: 0px;
|
||||||
|
align-self: center; }
|
||||||
body div.search div.fake-text-box {
|
body div.search div.fake-text-box {
|
||||||
width: calc(100% - 60px);
|
width: calc(100% - 60px);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -54,6 +54,9 @@ body {
|
|||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
margin-right: 0px;
|
margin-right: 0px;
|
||||||
}
|
}
|
||||||
|
div.up,div.down {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
a.exit-search {
|
a.exit-search {
|
||||||
width: 60px;
|
width: 60px;
|
||||||
background: whitesmoke;
|
background: whitesmoke;
|
||||||
@ -72,7 +75,7 @@ body {
|
|||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
div.search-icon {
|
div.search-icon,div.down,div.up {
|
||||||
height: calc(100% - 28px);
|
height: calc(100% - 28px);
|
||||||
display: flex;
|
display: flex;
|
||||||
background: aliceblue;
|
background: aliceblue;
|
||||||
@ -86,6 +89,10 @@ body {
|
|||||||
height: 80%;
|
height: 80%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
div.down,div.up {
|
||||||
|
margin: 0px;
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
div.fake-text-box {
|
div.fake-text-box {
|
||||||
width: calc(100% - 60px);
|
width: calc(100% - 60px);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,8 +1,14 @@
|
|||||||
<div class="search">
|
<div class="search">
|
||||||
<div class="search-icon">
|
<div tabindex="-1" class="search-icon">
|
||||||
<img alt="" src="/img/search.svg"/>
|
<img alt="Buscar" src="/img/search.svg"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="fake-text-box">
|
<div class="fake-text-box">
|
||||||
<input type="text"></input>
|
<input type="text"></input>
|
||||||
</div>
|
</div>
|
||||||
|
<div tabindex="-1" class="down">
|
||||||
|
<img alt="Siguiente resultado." src="/img/down.svg"/>
|
||||||
|
</div>
|
||||||
|
<div tabindex="-1" class="up">
|
||||||
|
<img alt="Anterior resultado" src="/img/up.svg"/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user