vrfs1008: refactoring, cleanup, bug fixes

This commit is contained in:
Jonathan Kolyer 2014-01-14 00:02:54 -06:00
parent a8b7f3e5a6
commit 28d346fe23
6 changed files with 55 additions and 47 deletions

View File

@ -277,7 +277,7 @@
function initialize(invitationDialogInstance, inviteMusiciansDialogInstance) {
invitationDialog = invitationDialogInstance;
inviteMusiciansDialog = inviteMusiciansDialogInstance;
inviteMusiciansDialog.appendFriendSelector($('#create-session-invite-musicians'));
inviteMusiciansDialog.inviteSessionCreate('#create-session-invite-musicians');
events();
loadBands();
loadSessionSettings();

View File

@ -13,6 +13,31 @@
var autoComplete = null;
var rest = context.JK.Rest();
var mySaveCallback;
var inviteAction = 'create'; // create/update
this.inviteSessionCreate = function(elemSelector) {
inviteAction = 'create';
_appendFriendSelector($(elemSelector));
};
this.inviteSessionUpdate = function(elemSelector, sessionId) {
inviteAction = 'update';
if (0 == $(elemSelector + ' .friendbox').length) {
_appendFriendSelector($(elemSelector));
}
this.clearSelections();
$.ajax({
ajax: false,
url: "/api/invitations",
data: { session_id: sessionId, sender: context.JK.currentUserId }
}).done(function(response) {
response.map(function(item) {
var dd = item['receiver']
selectedFriendIds[dd['id']] = true;
addInvitation(dd['name'], dd['id']);
});
}).fail(app.ajaxError);
}
this.clearSelections = function() {
userNames = [];
@ -65,7 +90,11 @@
function addInvitation(value, data) {
if ($('.selected-friends div[user-id=' + data + ']').length === 0) {
var template = $('#template-added-invitation').html();
var invitationHtml = context.JK.fillTemplate(template, {userId: data, userName: value});
var image_style = inviteAction == 'update' ? 'display:none' : '';
var invitationHtml = context.JK.fillTemplate(template,
{userId: data,
userName: value,
image_style: image_style});
$('.selected-friends').append(invitationHtml);
$('#friend-input').select();
selectedFriendIds[data] = true;
@ -142,43 +171,22 @@
});
}
function events() {
//if ($('.btn-choose-friends').data('events') === undefined) {
$('.selected-friends').on("click", ".invitation a", removeInvitation);
$('.btn-choose-friends').click(function(){
friendSelectorDialog.showDialog(selectedFriendIds);
});
//}
function _events() {
$('#selected-friends-'+inviteAction).on("click", ".invitation a", removeInvitation);
$('#btn-choose-friends-'+inviteAction).click(function(){
friendSelectorDialog.showDialog(selectedFriendIds);
});
}
this.inviteJoinSession = function(sessionId) {
if (0 == $('#join-session-invite-musicians .friendbox').length) {
this.appendFriendSelector($('#join-session-invite-musicians'));
}
this.clearSelections();
$.ajax({
ajax: false,
url: "/api/invitations",
data: {
session_id: sessionId,
sender: context.JK.currentUserId
}
}).done(function(response) {
response.map(function(item) {
var dd = item['receiver']
selectedFriendIds[dd['id']] = true;
addInvitation(dd['name'], dd['id']);
});
}).fail(app.ajaxError);
function _friendSelectorHTML() {
return context.JK.fillTemplate($('#template-session-invite-musicians').html(),
{choose_friends_id: 'btn-choose-friends-'+inviteAction,
selected_friends_id: 'selected-friends-'+inviteAction});
}
function friendSelectorHTML() {
return context.JK.fillTemplate($('#template-session-invite-musicians').html(),{});
}
this.appendFriendSelector = function(elem) {
elem.append(friendSelectorHTML());
events();
function _appendFriendSelector(elemSelector) {
elemSelector.append(_friendSelectorHTML());
_events();
};
this.initialize = function(friendSelectorDialogInstance) {

View File

@ -1305,7 +1305,7 @@
}
function inviteMusicians() {
inviteMusiciansDialog.inviteJoinSession(sessionId);
inviteMusiciansDialog.inviteSessionUpdate('#update-session-invite-musicians', sessionId);
}
function events() {

View File

@ -156,13 +156,6 @@
</div>
</div>
<!-- Added Invitation Template -->
<script type="text/template" id="template-added-invitation">
<div user-id="{userId}" class="invitation">{userName}
<a><%= image_tag "shared/icon_delete_sm.png", :size => "13x13" %></a>
</div>
</script>
<!-- Band option template -->
<script type="text/template" id="template-band-option">
<option value="{value}">{label}</option>

View File

@ -1,6 +1,6 @@
<!-- Invite Session Musicians Selector Dialog -->
<div class="dialog invitemusicians-overlay" layout="dialog" layout-id="select-invites">
<div class="invitemusicians-inner" id="join-session-invite-musicians">
<div class="invitemusicians-inner" id="update-session-invite-musicians">
</div>
<br clear="all" />
<div class="left">
@ -15,7 +15,7 @@
<script type="text/template" id="template-session-invite-musicians">
<div>
<div class="right" layout-link="select-friends">
<a href="#" class="btn-choose-friends button-grey">CHOOSE FRIENDS</a>
<a href="#" class="btn-choose-friends button-grey" id="{choose_friends_id}">CHOOSE FRIENDS</a>
</div>
<div style="margin-right:140px;">
Start typing friends' names or:
@ -25,7 +25,14 @@
<br />
<!-- friend invitation box -->
<div class="friendbox">
<div class="selected-friends"></div>
<div class="selected-friends" id="{selected_friends_id}"></div>
<input id="friend-input" type="text" placeholder="Looking up friends..." />
</div>
</script>
<!-- Added Invitation Template -->
<script type="text/template" id="template-added-invitation">
<div user-id="{userId}" class="invitation">{userName}
<a><%= image_tag "shared/icon_delete_sm.png", :size => "13x13", :style => "{image_style}" %></a>
</div>
</script>

View File

@ -35,7 +35,7 @@
<%= render "account_profile_avatar" %>
<%= render "account_audio_profile" %>
<%= render "invitationDialog" %>
<%= render "inviteSessionMusicians" %>
<%= render "inviteMusicians" %>
<%= render "whatsNextDialog" %>
<%= render "recordingFinishedDialog" %>
<%= render "localRecordingsDialog" %>