Archived
1
0

Fix new search bar - you can now finally search again

This commit is contained in:
KingOfDog 2019-04-15 16:27:11 +02:00 committed by Marcel
parent 9c023c939a
commit d520b4752f
3 changed files with 49 additions and 64 deletions

View File

@ -77,14 +77,23 @@
</div> </div>
<div class="navbar-search"> <div class="navbar-search">
<form action="#" id="search-form">
<div class="input-group">
<div class="input-group-prepend">
<button class="btn" type="submit">
<i class="fa fa-search"></i>
</button>
</div>
<input class="form-control" type="search" placeholder="Suchen nach Posts, Projekten, Blog-Einträgen und mehr"> <input class="form-control" type="search" placeholder="Suchen nach Posts, Projekten, Blog-Einträgen und mehr">
</div> </div>
</form>
</div>
<?php if (isset($_SESSION['user'])): ?> <?php if (isset($_SESSION['user'])): ?>
<div class="navbar-action"> <div class="navbar-action">
<div class="dropdown"> <div class="dropdown">
<a href="#" class="navbar-action-btn dropdown-toggle" data-toggle="dropdown" id="userMenuButton" aria-haspopup="true" aria-expanded="false" role="button"> <a href="#" class="navbar-action-btn dropdown-toggle" data-toggle="dropdown" id="userMenuButton" aria-haspopup="true" aria-expanded="false" role="button">
<img src="<?= $_SESSION['user']['profilePic'] ?>?w=100" alt="" class="img-fluid rounded-circle"> <img src="<?= $_SESSION['user']['profilePic'] ?>?w=40" alt="" class="img-fluid rounded-circle">
<text><?= $_SESSION['user']['displayname'] ?></text> <text><?= $_SESSION['user']['displayname'] ?></text>
</a> </a>

View File

@ -190,16 +190,28 @@
.navbar .navbar-search { .navbar .navbar-search {
z-index: 1; z-index: 1;
padding-right: 40px;
grid-area: center; grid-area: center;
} }
.navbar .navbar-search .input-group {
border-radius: .25rem;
background: rgba(0, 0, 0, .04);
}
.navbar .navbar-search input.form-control { .navbar .navbar-search input.form-control {
border: none; border: none;
background: rgba(0, 0, 0, .04); background: none;
box-shadow: none; box-shadow: none;
outline: none; outline: none;
} }
.navbar .navbar-search .input-group .btn {
padding: .375rem .25rem .375rem .75rem;
background: none;
color: #666;
}
#userMenuButton { #userMenuButton {
height: 48px; height: 48px;
padding: 4px 25px 4px 4px; padding: 4px 25px 4px 4px;

View File

@ -222,10 +222,17 @@ $(document).on('swipeleft', function () {
} }
}); });
function closeSearch() { $('#search-form').submit((e) => {
$('.navbar.search-open').removeClass('search-open') e.preventDefault();
.find('.navbar-search input').val('');
executeSearch();
});
$('.navbar-search input').on('keyup', (e) => {
if (e.key === 'Enter') {
$('#search-form').submit();
} }
});
function executeSearch() { function executeSearch() {
const search = $('.navbar-search input').val().trim(); const search = $('.navbar-search input').val().trim();
@ -250,12 +257,8 @@ function executeSearch() {
}, },
method: 'GET', method: 'GET',
success: data => { success: data => {
// $('html').children().remove()[0].outerHTML = data;
document.write(data); document.write(data);
document.close(); document.close();
// const newBody = $('body > *:not(header):not(footer):not(#bottom)', $(data));
// console.log(newBody);
// $('.loadingSpinner').after(newBody);
}, },
error: data => { error: data => {
console.log(data); console.log(data);
@ -263,57 +266,6 @@ function executeSearch() {
}); });
} }
$('#searchButton').on('click', (e) => {
e.preventDefault();
const navbar = $('.navbar');
if (navbar.hasClass('search-open')) {
const search = $('.navbar-search input').val().trim();
if (search.length > 0) {
executeSearch();
} else {
closeSearch();
}
} else {
navbar.addClass('search-open');
$('.navbar .navbar-search input').focus();
}
});
$('#searchResetButton').on('click', (e) => {
e.preventDefault();
closeSearch();
});
$('body').on('keyup', (e) => {
if ($('.navbar').hasClass('search-open') && e.key === 'Escape') {
closeSearch();
}
});
$('.navbar-search input').on('keyup', (e) => {
if (e.key === 'Enter') {
executeSearch()
}
});
$('.navbar-search:not(.active) .btn-search').click(function (event) {
event.preventDefault();
const $form = $(this).closest('form'),
$input = $form.find('input');
$form.addClass('active');
$input.focus();
});
$('.navbar-search.active .btn-search').click(function (event) {
event.preventDefault();
const $form = $(this).closest('form'),
$input = $form.find('input');
//TODO: Execute search
closeSearch();
});
$(function () { $(function () {
$.each($(".share-btn"), function () { $.each($(".share-btn"), function () {
$(this).on("click", function (event) { $(this).on("click", function (event) {
@ -388,6 +340,18 @@ $('#notificationMenuButton').click(() => {
}); });
}); });
$(() => {
$('.max-length-input').each(function () {
console.log(this);
$(this).after(`<span class="max-length-counter">${$(this).attr('max-length')}</span>`);
});
});
$('.max-length-input').keypress(function () {
const val = $(this).val() || $(this).text();
$(this).next('.max-length-counter').text($(this).attr('max-length') - val.trim().length);
});
const notificationCount = 5; const notificationCount = 5;
let notificationOffset = 0; let notificationOffset = 0;