%PDF- %PDF-
| Direktori : /home/opti/workflow/src/public/app-assets/js/scripts/ui/ |
| Current File : /home/opti/workflow/src/public/app-assets/js/scripts/ui/fullscreenSearch.js |
(function() {
var fullscreenSearch = $('#fullscreen-search'),
body = $('body'),
input = $('.fullscreen-search-input'),
btn = $('.fullscreen-search-btn'),
ctrlClose = fullscreenSearch.find('span.fullscreen-search-close'),
isOpen = isAnimating = false,
// show/hide search area
toggleSearch = function(event) {
if (event.type.toLowerCase() === 'focus' && isOpen) return false;
var offsets = fullscreenSearch[0].getBoundingClientRect();
if (isOpen) {
fullscreenSearch.removeClass('open');
body.removeClass('search-open')
// trick to hide input text once the search overlay closes
if (input.value !== '') {
setTimeout(function() {
fullscreenSearch.addClass('hideInput');
setTimeout(function() {
fullscreenSearch.removeClass('hideInput');
input.value = '';
}, 300);
}, 500);
}
input.blur();
} else {
fullscreenSearch.addClass('open');
body.addClass('search-open')
}
isOpen = !isOpen;
};
// events
$(btn).on('click', function(event){
toggleSearch(event);
});
$(input).on('focus', function(event){
toggleSearch(event);
});
$(ctrlClose).on('click', function(event){
toggleSearch(event);
});
// keyboard navigation events
document.addEventListener('keydown', function(e) {
//Do not auto open search for input and textarea
if ($(e.target).is('input') || $(e.target).is('textarea') || $(e.target).hasClass('ql-editor') || $(e.target).hasClass('note-editable') || $(e.target).hasClass('cke_editable_inline')) {
if(e.target.className != 'fullscreen-search-input')
return false;
}
// esc key closes search overlay
var keyCode = e.keyCode || e.which;
if (keyCode === 27 && isOpen) {
toggleSearch(e);
}
// type anywhere to search
// Search allow for alpha numeric key down only
if ((e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 65 && e.keyCode <= 90) && !(e.shiftKey || e.ctrlKey || e.altKey || e.metaKey)){
isOpen = false;
toggleSearch(e);
$('.fullscreen-search-input').focus();
}
});
/***** for demo purposes only: don't allow to submit the form *****/
fullscreenSearch.find('button[type="submit"]').on('click', function(e) {
e.preventDefault();
});
})();