diff --git a/web/app/assets/javascripts/sessionList.js b/web/app/assets/javascripts/sessionList.js index 7c74c6b04..8f34a674a 100644 --- a/web/app/assets/javascripts/sessionList.js +++ b/web/app/assets/javascripts/sessionList.js @@ -5,6 +5,7 @@ context.JK = context.JK || {}; context.JK.SessionList = function(app) { var logger = context.JK.logger; + var termsDialog; var LATENCY = { GOOD : {description: "GOOD", style: "latency-green", min: 0.0, max: 20.0}, MEDIUM : {description: "MEDIUM", style: "latency-yellow", min: 20.0, max: 40.0}, @@ -116,7 +117,6 @@ latency_style: latencyStyle, sortScore: latencyInfo.sortScore, play_url: "TODO", - join_url: "/#/session/" + session.id, join_link_display_style: "block" // showJoinLink ? "block" : "none" }; @@ -132,10 +132,26 @@ } }); if (!insertedEarly) { - return $(tbGroup).append(row); + $(tbGroup).append(row); + + // wire up the Join Link to the T&Cs dialog + var $parentRow = $('tr[id=' + session.id + ']', tbGroup); + $('#join-link', $parentRow).click(function(evt) { + openTerms(session.id); + }); } } + function openTerms(sessionId) { + termsDialog = new context.JK.TermsDialog(app, sessionId, onTermsAccepted); + termsDialog.initialize(); + app.layout.showDialog('terms'); + } + + function onTermsAccepted(sessionId) { + context.location = '#/session/' + sessionId; + } + function events() { } diff --git a/web/app/assets/javascripts/terms.js b/web/app/assets/javascripts/terms.js new file mode 100644 index 000000000..729f72a35 --- /dev/null +++ b/web/app/assets/javascripts/terms.js @@ -0,0 +1,27 @@ +(function(context,$) { + + "use strict"; + + context.JK = context.JK || {}; + context.JK.TermsDialog = function(app, sessionId, callback) { + + var logger = context.JK.logger; + + function events() { + $('#btn-accept-terms').click(function(evt) { + callback(sessionId); + }); + + $('#btn-cancel-terms').click(function(evt) { + app.layout.closeDialog('terms'); + }); + } + + function initialize() { + events(); + } + + this.initialize = initialize; + + }; +})(window,jQuery); diff --git a/web/app/views/clients/_findSession.html.erb b/web/app/views/clients/_findSession.html.erb index 47d32b786..2cf056b01 100644 --- a/web/app/views/clients/_findSession.html.erb +++ b/web/app/views/clients/_findSession.html.erb @@ -83,7 +83,7 @@