/* global $ requests server sidebar edits helper */ 'use strict'; // ==UserScript== // @name MusicBrainz edit: Mark recordings as video // @namespace mbz-loujine // @author loujine // @version 2021.10.30 // @downloadURL https://raw.githubusercontent.com/loujine/musicbrainz-scripts/master/mb-edit-set_video_recordings.user.js // @updateURL https://raw.githubusercontent.com/loujine/musicbrainz-scripts/master/mb-edit-set_video_recordings.user.js // @supportURL https://github.com/loujine/musicbrainz-scripts // @icon https://raw.githubusercontent.com/loujine/musicbrainz-scripts/master/icon.png // @description musicbrainz.org: Mark recordings as video // @compatible firefox+tampermonkey // @license MIT // @require https://raw.githubusercontent.com/loujine/musicbrainz-scripts/master/mbz-loujine-common.js // @include http*://*musicbrainz.org/release/* // @exclude http*://*musicbrainz.org/release/add // @exclude http*://*musicbrainz.org/release/*/edit // @exclude http*://*musicbrainz.org/release/*/edit-relationships // @grant none // @run-at document-end // ==/UserScript== const editNoteMsg = ` From release ${document.URL} `; function showSelectors() { Array.from(document.getElementsByClassName('subh')).map( el => el.insertAdjacentHTML('beforeend', '
').append(
`` +
`edit ${editId}`
)
)
}
function fail(xhr) {
$('#' + node.id + '-text').text(
'Error (code ' + xhr.status + ')'
).parent().css('color', 'red');
}
function callback(editData) {
if (editData.video) {
$('#' + node.id + '-text').text('Already video recording');
node.disabled = true;
return;
}
$('#' + node.id + '-text').text('Sending edit data');
const postData = parseEditData(editData);
console.info('Data ready to be posted: ', postData);
requests.POST(
url,
edits.formatEdit('edit-recording', postData),
success,
fail
);
}
setTimeout(function () {
$('#' + node.id + '-text').empty();
$(node).after(
`Fetching required data`
);
edits.getEditParams(url, callback);
}, 2 * idx * server.timeout);
});
}
(function displaySidebar() {
if (!helper.isUserLoggedIn()) {
return;
}
sidebar.container().insertAdjacentHTML('beforeend', `
Set video
Edit note: