mirror of
https://github.com/krateng/maloja.git
synced 2023-08-10 21:12:55 +03:00
Added callback notifications to edit functions
This commit is contained in:
parent
45ea7499b2
commit
6e8cbe6a57
@ -16,8 +16,17 @@ function toggleDeleteConfirm(element) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function deleteScrobble(id,element) {
|
function deleteScrobble(id,element) {
|
||||||
element.parentElement.parentElement.parentElement.classList.add('removed');
|
var callback_func = function(req){
|
||||||
neo.xhttpreq("/apis/mlj_1/delete_scrobble",data={'timestamp':id},method="POST",callback=(()=>null),json=true);
|
if (req.status == 200) {
|
||||||
|
element.parentElement.parentElement.parentElement.classList.add('removed');
|
||||||
|
notifyCallback(req);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
notifyCallback(req);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
neo.xhttpreq("/apis/mlj_1/delete_scrobble",data={'timestamp':id},method="POST",callback=callback_func,json=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -77,11 +86,20 @@ function doneEditing() {
|
|||||||
var payload = {'id':entity_id,'title':newname}
|
var payload = {'id':entity_id,'title':newname}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
callback_func = function(req){
|
||||||
|
if (req.status == 200) {
|
||||||
|
window.location = "?" + searchParams.toString();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
notifyCallback(req);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
neo.xhttpreq(
|
neo.xhttpreq(
|
||||||
endpoint,
|
endpoint,
|
||||||
data=payload,
|
data=payload,
|
||||||
method="POST",
|
method="POST",
|
||||||
callback=(()=>window.location = "?" + searchParams.toString()),
|
callback=callback_func,
|
||||||
json=true
|
json=true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -97,6 +115,7 @@ function markForMerge() {
|
|||||||
current_stored.push(entity_id);
|
current_stored.push(entity_id);
|
||||||
current_stored = [...new Set(current_stored)];
|
current_stored = [...new Set(current_stored)];
|
||||||
lcst.setItem(key,current_stored); //this already formats it correctly
|
lcst.setItem(key,current_stored); //this already formats it correctly
|
||||||
|
notify("Success","Marked " + entity_name + " for merge, currently " + current_stored.length + " marked!")
|
||||||
}
|
}
|
||||||
|
|
||||||
function merge() {
|
function merge() {
|
||||||
@ -105,6 +124,15 @@ function merge() {
|
|||||||
var current_stored = lcst.getItem(key).split(",");
|
var current_stored = lcst.getItem(key).split(",");
|
||||||
current_stored = current_stored.filter((x)=>x).map((x)=>parseInt(x));
|
current_stored = current_stored.filter((x)=>x).map((x)=>parseInt(x));
|
||||||
|
|
||||||
|
callback_func = function(req){
|
||||||
|
if (req.status == 200) {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
notifyCallback(req);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
neo.xhttpreq(
|
neo.xhttpreq(
|
||||||
"/apis/mlj_1/merge_" + entity_type + "s",
|
"/apis/mlj_1/merge_" + entity_type + "s",
|
||||||
data={
|
data={
|
||||||
@ -112,7 +140,7 @@ function merge() {
|
|||||||
'target_id':entity_id
|
'target_id':entity_id
|
||||||
},
|
},
|
||||||
method="POST",
|
method="POST",
|
||||||
callback=(()=>window.location.reload()),
|
callback=callback_func,
|
||||||
json=true
|
json=true
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ const colors = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const notification_template = info => `
|
const notification_template = info => `
|
||||||
<div class="notification" style="background-color:${colors[type]};">
|
<div class="notification" style="background-color:${colors[info.notification_type]};">
|
||||||
<b>${info.title}</b><br/>
|
<b>${info.title}</b><br/>
|
||||||
<span>${info.body}</span>
|
<span>${info.body}</span>
|
||||||
|
|
||||||
@ -20,11 +20,11 @@ function htmlToElement(html) {
|
|||||||
return template.content.firstChild;
|
return template.content.firstChild;
|
||||||
}
|
}
|
||||||
|
|
||||||
function notify(title,msg,type='info',reload=false) {
|
function notify(title,msg,notification_type='info',reload=false) {
|
||||||
info = {
|
info = {
|
||||||
'title':title,
|
'title':title,
|
||||||
'body':msg,
|
'body':msg,
|
||||||
'type':type
|
'notification_type':notification_type
|
||||||
}
|
}
|
||||||
|
|
||||||
var element = htmlToElement(notification_template(info));
|
var element = htmlToElement(notification_template(info));
|
||||||
@ -33,3 +33,19 @@ function notify(title,msg,type='info',reload=false) {
|
|||||||
|
|
||||||
setTimeout(function(e){e.remove();},7000,element);
|
setTimeout(function(e){e.remove();},7000,element);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function notifyCallback(request) {
|
||||||
|
var body = request.response;
|
||||||
|
var status = request.status;
|
||||||
|
|
||||||
|
|
||||||
|
if (status == 200) {
|
||||||
|
var notification_type = 'info';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var notification_type = 'warning';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
notify(body.status,body.desc || "",notification_type);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user