sproxy-web-0.3.1: static/js/grouplist.js
postUrl = '/groups';
makeEditable('.group-edit', groupUpdate, postUrl);
function groupUpdate(newVal, prevVal, tr) {
var obj = { operation: 'upd'
, new: newVal
, old: prevVal
};
return obj;
}
$('.add-btn').click(function() {
var currRow = $(this).parent().parent();
var currGroup = $(currRow).children("td").eq(0).find('input').val();
if (currGroup.length < 1) {
fadeInOut('#fieldempty');
}
else {
sendGroup(currGroup, appendRow, showError, currRow);
}
});
$('.delete-btn').click(function() {
var hisTr = $(this).parent().parent();
var group = $(hisTr).children("td").eq(0).text();
deleteGroup(group, hisTr, removeRow, showError);
});
$('.member-btn').click(function() {
var hisTr = $(this).parent().parent();
var group = $(hisTr).children("td").eq(0).text();
window.location = '/group/' + group + '/members';
});
function sendGroup(groupField, onSucc, onErr, addRow) {
$.post( postUrl
, { operation: "add", group: groupField }
).done(function(data) {
onSucc(groupField, addRow);
}).fail(onErr);
}
function deleteGroup(groupField, row, onSucc, onErr) {
$.post( postUrl
, { operation: "del", group: groupField }
).done(function(data) {
onSucc(row);
}).fail(onErr);
}
function appendRow(groupField, addRow)
{
fadeInOut("#updatesuccess");
$('#edittable tbody').append(
'<tr><td class="edit group-edit">' + groupField + '</td>' +
'<td><a href="#" class="delete-btn btn btn-danger btn-xs">Delete</a></td>' +
'<td><a href="#" class="member-btn btn btn-link btn-xs">Members</a></td></tr>');
$(addRow).children("td").eq(0).find('input').val("");
makeEditable('.group-edit', groupUpdate, postUrl);
$('.delete-btn').click(function() {
var hisTr = $(this).parent().parent();
var group = $(hisTr).children("td").eq(0).text();
deleteGroup(group, hisTr, removeRow, showError);
});
$('.member-btn').click(function() {
var hisTr = $(this).parent().parent();
var group = $(hisTr).children("td").eq(0).text();
window.location = '/group/' + group + '/members';
});
}