sproxy-web-0.3.1: static/js/rules.js
var postUrl = '/domain/' + domain + '/privilege/' + privilege + '/rules';
makeEditable('.path-edit', pathUpdate, postUrl);
makeEditable('.method-edit', methodUpdate, postUrl);
function sendRule(pathField, methodField, onSucc, onErr, addRow) {
$.post( postUrl
, { operation: "add", path: pathField, method: methodField }
).done(function(data) {
onSucc(pathField, methodField, addRow);
}).fail(onErr);
}
function appendRow(pathField, methodField, addRow)
{
fadeInOut("#updatesuccess");
$('#edittable tbody').append(
'<tr><td class="edit path-edit">' + pathField + '</td>' +
'<td class="edit method-edit">' + methodField + '</td>' +
'<td><a href="#" class="delete-btn btn btn-danger btn-xs">' +
' Delete</a></td></tr>');
$(addRow).children("td").eq(0).find('input').val("");
$(addRow).children("td").eq(1).find('input').val("");
makeEditable('.path-edit', pathUpdate, postUrl);
makeEditable('.method-edit', methodUpdate, postUrl);
$('.delete-btn').click(function() {
var hisTr = $(this).parent().parent();
var path = $(hisTr).children("td").eq(0).text();
var method = $(hisTr).children("td").eq(1).text();
deleteRule(path, method, hisTr, removeRow, showError);
});
}
$('.add-btn').click(function() {
var currRow = $(this).parent().parent();
var currPath = $(currRow).children("td").eq(0).find('input').val();
var currMethod = $(currRow).children("td").eq(1).find('input').val();
if (currPath.length < 1 || currMethod.length < 1) {
fadeInOut('#fieldempty');
}
else {
sendRule(currPath, currMethod, appendRow, showError, currRow);
}
});
function deleteRule(pathField, methodField, row, onSucc, onErr) {
$.post( postUrl
, { operation: "del", path: pathField, method: methodField }
).done(function(data) {
onSucc(row);
}).fail(onErr);
}
$('.delete-btn').click(function() {
var hisTr = $(this).parent().parent();
var path = $(hisTr).children("td").eq(0).text();
var method = $(hisTr).children("td").eq(1).text();
deleteRule(path, method, hisTr, removeRow, showError);
});
function pathUpdate(newVal, prevVal, tr) {
var currPath = newVal;
var currMethod = $(tr).children("td").eq(1).text();
var obj = { operation: "upd"
, what: "path"
, newpath: currPath
, oldpath: prevVal
, method: currMethod
};
return obj;
}
function methodUpdate(newVal, prevVal, tr) {
var currMethod = newVal;
var currPath = $(tr).children("td").eq(0).text();
var obj = { operation: "upd"
, what: "method"
, newmethod: currMethod
, oldmethod: prevVal
, path: currPath
};
return obj;
}