Skip to content
Snippets Groups Projects

Improve UI for empty filtered Directory results

Merged Kevin Abel requested to merge four into master
+ 37
13
Compare changes
  • Side-by-side
  • Inline
+ 37
13
@@ -16,6 +16,7 @@
@@ -16,6 +16,7 @@
resultSel = '.search-results',
resultSel = '.search-results',
googleSel = '.google-results',
googleSel = '.google-results',
 
evtStateChange = 'statechange',
wrapperMain = '#search_wrapper',
wrapperMain = '#search_wrapper',
wrapperWeb = '#search_results',
wrapperWeb = '#search_results',
wrapperDir = '#directory_results',
wrapperDir = '#directory_results',
@@ -71,14 +72,28 @@
@@ -71,14 +72,28 @@
};
};
Directory.prototype._renderState = function(duration) {
Directory.prototype._renderState = function(duration) {
var $innerRes = $('.results', $(this._renderTo)),
var $innerRes = $('.results', $(this._renderTo)),
 
$showRes, failState,
depFilter = '.departments';
depFilter = '.departments';
 
 
if (!$innerRes.length) {
 
return;
 
}
$innerRes.slideUp(duration);
$innerRes.slideUp(duration);
if (this._viewState === 0) {
if (this._viewState === 0) {
$innerRes.not(depFilter).slideDown();
$showRes = $innerRes.not(depFilter);
 
failState = 1;
} else {
} else {
$innerRes.filter(depFilter).slideDown();
$showRes = $innerRes.filter(depFilter);
 
failState = 0;
 
}
 
 
if (!$showRes.length && typeof duration !== "undefined") {
 
this.changeViewState(failState);
 
return;
}
}
 
 
$showRes.slideDown();
};
};
Directory.prototype.cancelSearch = function() {
Directory.prototype.cancelSearch = function() {
this._searchCanceled = true;
this._searchCanceled = true;
@@ -106,8 +121,12 @@
@@ -106,8 +121,12 @@
return;
return;
}
}
 
var prevState = this._viewState;
 
this._viewState = state;
this._viewState = state;
this._renderState();
this._renderState();
 
 
$(this._renderTo).trigger(evtStateChange, [state, prevState]);
};
};
Directory.prototype.clearAllResults = function() {
Directory.prototype.clearAllResults = function() {
$(this._renderTo).empty();
$(this._renderTo).empty();
@@ -205,11 +224,22 @@
@@ -205,11 +224,22 @@
$(function() {
$(function() {
var $q = $(inputSel),
var $q = $(inputSel),
 
resSel = '.results-group',
tabsSel = '.result-tab',
tabsSel = '.result-tab',
selCls = 'selected',
selCls = 'selected',
stateClsPfx = 'state-',
stateClsPfx = 'state-',
$resTabs = $('.result-tab'),
$resTabs = $('.result-tab'),
 
tabStateChange = function(e, state, prevState) {
 
var $tab = $(this).find(tabsSel);
 
 
e.stopPropagation();
 
 
$tab.removeClass(stateClsPfx + prevState);
 
$tab.addClass(stateClsPfx + state);
 
 
$tab.children().removeClass(selCls).eq(state).addClass(selCls);
 
},
googleOrigin = /^https?:\/\/www\.google\.com$/,
googleOrigin = /^https?:\/\/www\.google\.com$/,
@@ -247,21 +277,13 @@
@@ -247,21 +277,13 @@
return;
return;
}
}
var i = $(this).index(),
var i = $(this).index(),
j = $(this).siblings('.' + selCls).index(),
$par = $(this).parents(resSel);
$tab = $(this).closest(tabsSel),
$par = $(this).parents('.results-group');
$tab.removeClass(stateClsPfx + j);
$tab.addClass(stateClsPfx + i);
$(this).siblings().removeClass(selCls);
$(this).addClass(selCls);
if ($par.is(wrapperDir)) {
if ($par.is(wrapperDir)) {
directorySearch.changeViewState(i);
directorySearch.changeViewState(i);
} else if ($par.is(wrapperWeb)) {
} else if ($par.is(wrapperWeb)) {
$(activeSearch.root).closest(googleSel).slideUp();
$(activeSearch.root).closest(googleSel).slideUp().trigger(evtStateChange, [i, 0 + !i]);
if (i === 0) {
if (i === 0) {
activeSearch = localSearch;
activeSearch = localSearch;
} else {
} else {
@@ -272,6 +294,8 @@
@@ -272,6 +294,8 @@
}
}
});
});
 
$(resSel).on(evtStateChange, tabStateChange);
 
// listen for the submit event
// listen for the submit event
$(formSel).submit(function(e) {
$(formSel).submit(function(e) {
e.preventDefault();
e.preventDefault();
Loading