VRFS-1828 VRFS-1829 add date/time info to Find Session screen, fix RSVP dialog issues
This commit is contained in:
parent
b033b84425
commit
0ece384569
|
|
@ -442,6 +442,10 @@ module JamRuby
|
|||
end
|
||||
end
|
||||
|
||||
def scheduled_end_time
|
||||
|
||||
end
|
||||
|
||||
def timezone_description
|
||||
self.get_timezone.to_s
|
||||
end
|
||||
|
|
|
|||
|
|
@ -20,9 +20,13 @@
|
|||
.done(function(response) {
|
||||
if (response) {
|
||||
$('.session-name', $screen).html(response.name);
|
||||
$('.scheduled-start', $screen).html(response.scheduled_start);
|
||||
|
||||
if (response.recurring_mode !== null) {
|
||||
var timestamp = new Date(response.scheduled_start).toDateString() + ', ' +
|
||||
context.JK.formatUtcTime(new Date(response.scheduled_start), false);
|
||||
|
||||
$('.scheduled-start', $screen).html(timestamp);
|
||||
|
||||
if (response.recurring_mode !== null && response.recurring_mode === 'weekly') {
|
||||
$('.schedule-recurrence', $screen).html("Recurs " + response.recurring_mode + " on this day at this time");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,8 @@
|
|||
|
||||
context._.each(sessionList, function (session) {
|
||||
session.scheduled_start = new Date(session.scheduled_start).toDateString() + ', ' +
|
||||
getFormattedTime(new Date(session.scheduled_start), false);
|
||||
context.JK.formatUtcTime(new Date(session.scheduled_start), false);
|
||||
|
||||
var options = {
|
||||
id: session.id,
|
||||
name: session.name,
|
||||
|
|
@ -311,7 +312,7 @@
|
|||
var moveToFinish = function() {
|
||||
app.layout.closeDialog('confirm');
|
||||
createSessionSettings.startDate = new Date(session.scheduled_start).toDateString();
|
||||
createSessionSettings.startTime = getFormattedTime(new Date(session.scheduled_start), false);
|
||||
createSessionSettings.startTime = context.JK.formatUtcTime(new Date(session.scheduled_start), false);
|
||||
createSessionSettings.genresValues = session.genres;
|
||||
createSessionSettings.genres = [session.genre_id];
|
||||
createSessionSettings.timezone.label = session.timezone_description;
|
||||
|
|
@ -547,7 +548,7 @@
|
|||
data.legal_terms = true;
|
||||
data.language = createSessionSettings.language.value;
|
||||
if (createSessionSettings.createType == 'quick-start' || createSessionSettings.createType == 'immediately') {
|
||||
data.start = new Date().toDateString() + ' ' + getFormattedTime(new Date(), false);
|
||||
data.start = new Date().toDateString() + ' ' + context.JK.formatUtcTime(new Date(), false);
|
||||
data.duration = "30";
|
||||
}
|
||||
else if (createSessionSettings.createType == 'rsvp') {
|
||||
|
|
@ -856,30 +857,6 @@
|
|||
|
||||
}
|
||||
|
||||
function getFormattedTime(date, change) {
|
||||
if (change) {
|
||||
date.setMinutes(Math.ceil(date.getMinutes() / 30) * 30);
|
||||
}
|
||||
var h12h = date.getHours();
|
||||
var m12h = date.getMinutes();
|
||||
var ampm;
|
||||
if (h12h >= 0 && h12h < 12) {
|
||||
if (h12h === 0) {
|
||||
h12h = 12; // 0 becomes 12
|
||||
}
|
||||
ampm = "AM";
|
||||
}
|
||||
else {
|
||||
if (h12h > 12) {
|
||||
h12h -= 12; // 13-23 becomes 1-11
|
||||
}
|
||||
ampm = "PM";
|
||||
}
|
||||
var timeString = ("00" + h12h).slice(-2) + ":" + ("00" + m12h).slice(-2) + " " + ampm;
|
||||
|
||||
return timeString;
|
||||
}
|
||||
|
||||
function toggleDate() {
|
||||
var selectedDate = new Date($('#session-start-date').val());
|
||||
var currentDate = new Date();
|
||||
|
|
@ -889,7 +866,7 @@
|
|||
currentDate.getMonth() == selectedDate.getMonth() &&
|
||||
currentDate.getDate() == selectedDate.getDate()) {
|
||||
|
||||
var timeString = getFormattedTime(currentDate, true);
|
||||
var timeString = context.JK.formatUtcTime(currentDate, true);
|
||||
startIndex = defaultTimeArray.indexOf(timeString);
|
||||
}
|
||||
$startTimeList.empty();
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
if ( (openRsvps || hasInvitation) && openSlots && !hasApprovedRsvp && !currentUserHasRsvp ) {
|
||||
if ( (openRsvps || hasInvitation) && openSlots && !hasApprovedRsvp && currentUserHasRsvp ) {
|
||||
showRsvpLink = true;
|
||||
}
|
||||
else {
|
||||
|
|
@ -184,6 +184,12 @@
|
|||
}
|
||||
|
||||
var sessionVals = buildSessionObject(session, notationFileHtml, rsvpUsersHtml, openSlotsHtml, latencyHtml);
|
||||
|
||||
// format scheduled start time
|
||||
sessionVals.scheduled_start = new Date(session.scheduled_start).toDateString() + ', ' +
|
||||
context.JK.formatUtcTime(new Date(session.scheduled_start), false);// + '-' +
|
||||
//context.JK.formatUtcTime(new Date(session.scheduled_start + session.scheduled_duration), false);
|
||||
|
||||
sessionVals.rsvp_link_display_style = showRsvpLink ? "block" : "none";
|
||||
|
||||
var row = context.JK.fillTemplate($inactiveSessionTemplate.html(), sessionVals);
|
||||
|
|
|
|||
|
|
@ -520,6 +520,30 @@
|
|||
return date.toLocaleTimeString();
|
||||
}
|
||||
|
||||
context.JK.formatUtcTime = function(date, change) {
|
||||
if (change) {
|
||||
date.setMinutes(Math.ceil(date.getMinutes() / 30) * 30);
|
||||
}
|
||||
var h12h = date.getHours();
|
||||
var m12h = date.getMinutes();
|
||||
var ampm;
|
||||
if (h12h >= 0 && h12h < 12) {
|
||||
if (h12h === 0) {
|
||||
h12h = 12; // 0 becomes 12
|
||||
}
|
||||
ampm = "AM";
|
||||
}
|
||||
else {
|
||||
if (h12h > 12) {
|
||||
h12h -= 12; // 13-23 becomes 1-11
|
||||
}
|
||||
ampm = "PM";
|
||||
}
|
||||
var timeString = ("00" + h12h).slice(-2) + ":" + ("00" + m12h).slice(-2) + " " + ampm;
|
||||
|
||||
return timeString;
|
||||
}
|
||||
|
||||
context.JK.prettyPrintElements = function ($elements) {
|
||||
$.each($elements, function (index, item) {
|
||||
var $item = $(item);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
border: 1px solid $ColorScreenPrimary;
|
||||
color:#fff;
|
||||
min-width: 400px;
|
||||
min-height: 450px;
|
||||
min-height: 375px;
|
||||
z-index: 100;
|
||||
|
||||
h2 {
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ small, .small {font-size:11px;}
|
|||
.bold {font-weight:bold;}
|
||||
|
||||
.rsvp-instruments {
|
||||
height:80px;
|
||||
height:auto;
|
||||
overflow:auto;
|
||||
background-color:#202020;
|
||||
padding:8px;
|
||||
|
|
|
|||
|
|
@ -1,78 +1,78 @@
|
|||
<!-- Find Session Screen -->
|
||||
<div layout="screen" layout-id="findSession" id="findSession" class="screen secondary">
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<div class="content-icon">
|
||||
<%= image_tag "content/icon_search.png", :size => "19x19" %>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content-head">
|
||||
<div class="content-icon">
|
||||
<%= image_tag "content/icon_search.png", :size => "19x19" %>
|
||||
</div>
|
||||
|
||||
<h1>find a session</h1>
|
||||
<h1>find a session</h1>
|
||||
|
||||
<%= render "screen_navigation" %>
|
||||
</div>
|
||||
<div class="content-body">
|
||||
<div class="content-body-scroller">
|
||||
<form id="find-session-form">
|
||||
<div class="session-filter">
|
||||
<div style="min-width:770px;">
|
||||
<div class="left ml35" style="padding-top:3px;">Filter Session List:</div>
|
||||
|
||||
<!-- genre filter -->
|
||||
<div id="find-session-genre" class="left ml10">
|
||||
<%= render "genreSelector" %>
|
||||
</div>
|
||||
|
||||
<!-- date filter -->
|
||||
<div class="search-box">
|
||||
<input type="text" id="session-date-filter" placeholder="Any Date" />
|
||||
</div>
|
||||
|
||||
<!-- language filter -->
|
||||
<div class="language">
|
||||
<select id="session-language-filter">
|
||||
<% music_session_languages.each do |language| %>
|
||||
<option value="<%= language[:id] %>"><%= language[:label] %></option>
|
||||
<% end %>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- keyword filter -->
|
||||
<div class="search-box">
|
||||
<input id="session-keyword-srch" type="text" name="search" placeholder="Search by Keyword" />
|
||||
</div>
|
||||
|
||||
<div class="right mr10">
|
||||
<a id="btn-refresh" href="/client#/findSession" style="text-decoration:none;" class="button-grey">REFRESH<span class="extra"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-scroller">
|
||||
<div class="content-wrapper" style="padding-left:35px;padding-top:10px;">
|
||||
<div id="sessions-active">
|
||||
<%= render :partial => "sessionList", :locals => {:title => "current, active sessions", :category => "sessions-active"} %>
|
||||
<br />
|
||||
<div id="no-active-sessions">
|
||||
No active public sessions found.
|
||||
</div>
|
||||
</div>
|
||||
<div id="sessions-scheduled" class="mt35">
|
||||
<%= render :partial => "sessionList", :locals => {:title => "future, scheduled sessions", :category => "sessions-scheduled"} %>
|
||||
<br />
|
||||
<div id="no-scheduled-sessions">
|
||||
No scheduled sessions found.
|
||||
</div>
|
||||
</div>
|
||||
<span class="btn-next-wrapper"><a href="/api/sessions/nindex/clientid?page=1" class="btn-next">Next</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div id="end-of-session-list" class="end-of-list">
|
||||
No more sessions.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= render "screen_navigation" %>
|
||||
</div>
|
||||
<div class="content-body">
|
||||
<div class="content-body-scroller">
|
||||
<form id="find-session-form">
|
||||
<div class="session-filter">
|
||||
<div style="min-width:770px;">
|
||||
<div class="left ml35" style="padding-top:3px;">Filter Session List:</div>
|
||||
|
||||
<!-- genre filter -->
|
||||
<div id="find-session-genre" class="left ml10">
|
||||
<%= render "genreSelector" %>
|
||||
</div>
|
||||
|
||||
<!-- date filter -->
|
||||
<div class="search-box">
|
||||
<input type="text" id="session-date-filter" placeholder="Any Date" />
|
||||
</div>
|
||||
|
||||
<!-- language filter -->
|
||||
<div class="language">
|
||||
<select id="session-language-filter">
|
||||
<% music_session_languages.each do |language| %>
|
||||
<option value="<%= language[:id] %>"><%= language[:label] %></option>
|
||||
<% end %>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- keyword filter -->
|
||||
<div class="search-box">
|
||||
<input id="session-keyword-srch" type="text" name="search" placeholder="Search by Keyword" />
|
||||
</div>
|
||||
|
||||
<div class="right mr10">
|
||||
<a id="btn-refresh" href="/client#/findSession" style="text-decoration:none;" class="button-grey">REFRESH<span class="extra"></span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-scroller">
|
||||
<div class="content-wrapper" style="padding-left:35px;padding-top:10px;">
|
||||
<div id="sessions-active">
|
||||
<%= render :partial => "sessionList", :locals => {:title => "current, active sessions", :category => "sessions-active"} %>
|
||||
<br />
|
||||
<div id="no-active-sessions">
|
||||
No active public sessions found.
|
||||
</div>
|
||||
</div>
|
||||
<div id="sessions-scheduled" class="mt35">
|
||||
<%= render :partial => "sessionList", :locals => {:title => "future, scheduled sessions", :category => "sessions-scheduled"} %>
|
||||
<br />
|
||||
<div id="no-scheduled-sessions">
|
||||
No scheduled sessions found.
|
||||
</div>
|
||||
</div>
|
||||
<span class="btn-next-wrapper"><a href="/api/sessions/nindex/clientid?page=1" class="btn-next">Next</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div id="end-of-session-list" class="end-of-list">
|
||||
No more sessions.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- active session template -->
|
||||
|
|
@ -160,6 +160,9 @@
|
|||
<td>Notation Files:</td>
|
||||
<td>{notation_files}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">{scheduled_start}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td width="35%">
|
||||
|
|
@ -243,4 +246,5 @@
|
|||
{latency_text}
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><div style='height:5px;'> </div></td></tr>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -20,8 +20,7 @@
|
|||
%br/
|
||||
%br/
|
||||
.left
|
||||
%a.button-orange{:href => 'TBD', :rel => 'external', :target => '_blank'} HELP
|
||||
%a.button-grey{:href => 'TBD', :rel => 'external', :target => '_blank'} HELP
|
||||
.right
|
||||
%a.button-grey{:id => 'btnCancel', 'layout-action' => 'close'} CANCEL
|
||||
%a.button-orange{:id => 'btnSubmitRsvp'} SUBMIT RSVP
|
||||
%br{:clear => "all"}/
|
||||
%a.button-orange{:id => 'btnSubmitRsvp'} SUBMIT RSVP
|
||||
Loading…
Reference in New Issue