mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
refactor: client-side to use flag notes API
This commit is contained in:
@@ -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]]');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user