diff --git a/web/app/assets/javascripts/findSession.js b/web/app/assets/javascripts/findSession.js index de5c795ea..a6dbb9c1f 100644 --- a/web/app/assets/javascripts/findSession.js +++ b/web/app/assets/javascripts/findSession.js @@ -22,9 +22,11 @@ var currentActiveSessionsQuery = defaultActiveSessionsQuery(); + var $asSpinner = null; + var $ssNext = null; var $ssScroller = null; - var $ssNoMoreEntries = null; + var $ssSpinner = null; var currentScheduledSessionsPage = 0; var currentScheduledSessionsQuery = defaultScheduledSessionsQuery(); @@ -32,15 +34,6 @@ return CATEGORY; } - function removeSpinner($selector) { - $('div[layout-id=findSession] .content .spinner').remove();// remove any existing spinners - } - - function addSpinner($selector) { - removeSpinner(); - $selector.append('
') - } - function search() { logger.debug("Searching for sessions..."); clearResults(); @@ -50,8 +43,8 @@ } function loadSessions() { - addSpinner($('#sessions-active')); - addSpinner($('#sessions-scheduled')); + $asSpinner.show(); + $ssSpinner.show(); // get active sessions rest.findActiveSessions(currentActiveSessionsQuery) @@ -67,7 +60,8 @@ } }) .always(function() { - removeSpinner($('#sessions-active')); + context.JK.bindHoverEvents(); + $asSpinner.hide(); }); // get scheduled sessions @@ -84,7 +78,8 @@ } }) .always(function() { - removeSpinner($('#sessions-scheduled')); + context.JK.bindHoverEvents(); + $ssSpinner.hide(); }); } @@ -142,11 +137,9 @@ var $noSessionsMsgSelector = $('#no-active-sessions'); if (sessionList.length === 0) { - $(CATEGORY.ACTIVE.id).hide(); $noSessionsMsgSelector.show(); } else { - $(CATEGORY.ACTIVE.id).show(); $noSessionsMsgSelector.hide(); } @@ -205,24 +198,17 @@ } function afterLoadScheduledSessions(sessionList) { + var $noSessionsMsgSelector = $('#no-scheduled-sessions'); - - if (sessionList.length === 0 && currentScheduledSessionsPage === 0) { - $(CATEGORY.SCHEDULED.id).hide(); - $noSessionsMsgSelector.show(); - } - else { - $(CATEGORY.SCHEDULED.id).show(); - $noSessionsMsgSelector.hide(); - } if(sessionList.length < SCHEDULED_SESSIONS_LIMIT) { // if we retrieve less results than asked for, end searching $ssScroller.infinitescroll('pause'); - $ssNoMoreEntries.show(); + $noSessionsMsgSelector.show(); $('.infinite-scroll-loader').remove(); } else { + // $noSessionsMsgSelector.hide(); currentScheduledSessionsPage++; buildScheduledSessionsQuery(); registerScheduledSessionInfiniteScroll(); @@ -278,7 +264,9 @@ currentScheduledSessionsPage = 0; $ssScroller.infinitescroll('resume'); $('table#sessions-scheduled').find("tr:gt(0)").remove(); - $ssNoMoreEntries.hide(); + + $('#no-active-sessions').hide(); + // $('#no-scheduled-sessions').hide(); } function events() { @@ -310,7 +298,9 @@ $screen = $('#findSession'); $ssNext = $screen.find('#sessions-scheduled .btn-next') $ssScroller = $screen.find('.content-body-scroller'); - $ssNoMoreEntries = $screen.find('#end-of-ss-list') + $ssSpinner = $screen.find('#sessions-scheduled .paginate-wait'); + + $asSpinner = $screen.find('#sessions-active .paginate-wait'); $dateFilter.datepicker({ dateFormat: "D d MM yy", diff --git a/web/app/assets/stylesheets/client/findSession.css.scss b/web/app/assets/stylesheets/client/findSession.css.scss index 627b28192..7c2ca99c7 100644 --- a/web/app/assets/stylesheets/client/findSession.css.scss +++ b/web/app/assets/stylesheets/client/findSession.css.scss @@ -2,6 +2,17 @@ #findSession { + .paginate-wait { + margin:auto; + text-align:center; + vertical-align:bottom; + line-height:32px; + .spinner-small { + display:inline-block; + vertical-align:top; + } + } + th, td { margin: 4px; padding:4px; } .content .spinner { diff --git a/web/app/views/clients/_findSession.html.erb b/web/app/views/clients/_findSession.html.erb index ec21dc8f4..2fea80efc 100644 --- a/web/app/views/clients/_findSession.html.erb +++ b/web/app/views/clients/_findSession.html.erb @@ -51,19 +51,18 @@
<%= render :partial => "sessionList", :locals => {:title => "current, active sessions", :category => "sessions-active"} %>
-
- No active public sessions found. +
Fetching results...
+
+ End of list.

<%= render :partial => "sessionList", :locals => {:title => "future, scheduled sessions", :category => "sessions-scheduled"} %>
-
- No scheduled sessions found. -
-
- No more scheduled sessions. +
Fetching results...
+
+ End of list.
Next
@@ -216,7 +215,7 @@