refactor: client-side to use flag notes API

v1.18.x
Julian Lam 4 years ago
parent cc6cbfcdc4
commit ef4e74bfc8

@ -32,19 +32,29 @@ define('forum/flags/detail', ['forum/flags/list', 'components', 'translator', 'b
}
case 'appendNote':
socket.emit('flags.appendNote', {
flagId: ajaxify.data.flagId,
// socket.emit('flags.appendNote', {
api.post(`/flags/${ajaxify.data.flagId}/notes`, {
note: noteEl.value,
datetime: parseInt(noteEl.getAttribute('data-datetime'), 10),
}, function (err, payload) {
if (err) {
return app.alertError(err.message);
}
}).then((payload) => {
app.alertSuccess('[[flags:note-added]]');
Detail.reloadNotes(payload.notes);
Detail.reloadHistory(payload.history);
noteEl.removeAttribute('data-datetime');
}).catch(app.alertError);
break;
case 'delete-note':
var datetime = parseInt(this.closest('[data-datetime]').getAttribute('data-datetime'), 10);
bootbox.confirm('[[flags:delete-note-confirm]]', function (ok) {
if (ok) {
api.delete(`/flags/${ajaxify.data.flagId}/notes/${datetime}`, {}).then((payload) => {
app.alertSuccess('[[flags:note-deleted]]');
Detail.reloadNotes(payload.notes);
Detail.reloadHistory(payload.history);
}).catch(app.alertError);
}
});
break;
@ -80,26 +90,6 @@ define('forum/flags/detail', ['forum/flags/list', 'components', 'translator', 'b
postAction('restore', ajaxify.data.target.pid, ajaxify.data.target.tid);
break;
case 'delete-note':
var datetime = parseInt(this.closest('[data-datetime]').getAttribute('data-datetime'), 10);
bootbox.confirm('[[flags:delete-note-confirm]]', function (ok) {
if (ok) {
socket.emit('flags.deleteNote', {
flagId: ajaxify.data.flagId,
datetime: datetime,
}, function (err, payload) {
if (err) {
return app.alertError(err.message);
}
app.alertSuccess('[[flags:note-deleted]]');
Detail.reloadNotes(payload.notes);
Detail.reloadHistory(payload.history);
});
}
});
break;
case 'prepare-edit':
var selectedNoteEl = this.closest('[data-index]');
var index = selectedNoteEl.getAttribute('data-index');

@ -41,6 +41,7 @@ SocketFlags.appendNote = async function (socket, data) {
};
SocketFlags.deleteNote = async function (socket, data) {
sockets.warnDeprecated(socket, 'DELETE /api/v3/flags/:flagId/notes/:datetime');
if (!data || !(data.flagId && data.datetime)) {
throw new Error('[[error:invalid-data]]');
}

Loading…
Cancel
Save