diff --git a/batch-add-recording-relationships.user.js b/batch-add-recording-relationships.user.js
index 3819c68..1ca6da2 100644
--- a/batch-add-recording-relationships.user.js
+++ b/batch-add-recording-relationships.user.js
@@ -16,6 +16,28 @@ scr.textContent = "(" + batch_recording_rels + ")();";
document.body.appendChild(scr);
function batch_recording_rels() {
+
+ function make_element(el_name, args) {
+ var el = $("<"+el_name+">"+el_name+">");
+ el.append.apply(el, args);
+ return el;
+ }
+ function td() {
+ return make_element("td", arguments);
+ }
+ function tr() {
+ return make_element("tr", arguments);
+ }
+ function table() {
+ return make_element("table", arguments);
+ }
+ function label() {
+ return make_element("label", arguments);
+ }
+ function goBtn(func) {
+ return $("").click(func);
+ }
+
var TITLE_SELECTOR = "a[href*='" + window.location.host + "/recording/']";
var $recordings = $('tr:has(' + TITLE_SELECTOR + ')').data('filtered', false);
@@ -504,51 +526,36 @@ function batch_recording_rels() {
';
// Add button to manage performance ARs
+ var $relate_table = table(
+ tr(td(label("New work with this title:").attr('for',"bpr-new-work")),
+ td('',
+ goBtn(relate_to_new_titled_work))),
+ tr(td(label("Existing work (URL/MBID):").attr('for',"bpr-existing-work")),
+ td(entity_lookup($(''), "work"),
+ goBtn(relate_to_existing_work))),
+ tr(td("New works using recording titles"),
+ td(goBtn(relate_to_new_works))),
+ tr(td("Their suggested works"),
+ td(goBtn(relate_to_suggested_works))),
+ tr(td(label("Work type:").attr('for',"bpr-work-type")),
+ td(work_type_options)),
+ tr(td(label("Lyrics language:").attr('for', "bpr-work-language")),
+ td(work_language_options))).hide();
- var $relate_table = $("
").append(
- $("
").append(
- "New work with this title: | ",
- $(" | ").append(
- '',
- $("").click(relate_to_new_titled_work))),
- $("
").append(
- "Existing work (URL/MBID): | ",
- $(" | ").append(
- entity_lookup($(''), "work"),
- $("").click(relate_to_existing_work))),
- $("
").append(
- "New works using recording titles | ",
- $(" | ").append(
- $("").click(relate_to_new_works))),
- $("
").append(
- "Their suggested works | ",
- $(" | ").append(
- $("").click(relate_to_suggested_works))),
- $("
").append(
- ' | ',
- $(' | ').append(work_type_options)),
- $("
").append(
- ' | ',
- $(' | ').append(work_language_options))).hide();
-
- var $works_table = $("").append(
+ var $works_table = table(
$('
').append(
- "Load another artist’s works (URL/MBID): | ",
- $(" | ").append(
- entity_lookup($(''), "artist"),
- $("").click(load_artist_works_btn)))
- .hide());
+ td(label("Load another artist’s works (URL/MBID):").attr('for', "bpr-load-artist")),
+ td(entity_lookup($(''), "artist"),
+ goBtn(load_artist_works_btn)))
+ .hide());
- var $container = $("").append(
- $("
").append(
- "Relate checked recordings to… | ",
- $(" | ").append(
- "Cached works
",
- $("(These are used to auto-suggest works.)")
- .css("font-size", "0.9em"))),
- $("
").append(
- $(" | ").append($relate_table),
- $(" | ").append($works_table)))
+ var $container = table(
+ tr(td("Relate checked recordings to…
"),
+ td("Cached works
",
+ $("(These are used to auto-suggest works.)")
+ .css("font-size", "0.9em"))),
+ tr(td($relate_table),
+ td($works_table)))
.css({"margin": "0.5em", "background": "#F2F2F2", "border": "1px #999 solid"})
.insertAfter($("div#content h2")[0]);
@@ -559,24 +566,21 @@ function batch_recording_rels() {
var hide_performed_recs = $.cookie('hide_performed_recs') === 'true' ? true : false;
var hide_pending_edits = $.cookie('hide_pending_edits') === 'true' ? true : false;
- var $display_table = $("").append(
- $("
").append(
- $(" | ").append(
- $("").append(
- "Filter recordings list: ",
+ function make_checkbox(func, default_val, lbl) {
+ var chkbox = $('')
+ .bind("change", func)
+ .attr("checked", default_val);
+ return label(chkbox, lbl)
+ }
+
+ var $display_table = table(
+ tr(td(label("Filter recordings list: ",
$('').bind("input", filter_recordings))),
- $(" | ").append(
- $("").append(
- $('')
- .bind("change", toggle_performed_recordings)
- .attr("checked", hide_performed_recs),
- "Hide recordings with performance ARs"),
- " ",
- $("").append(
- $('')
- .bind("change", toggle_pending_edits)
- .attr("checked", hide_pending_edits),
- "Hide recordings with pending edits"))))
+ td(make_checkbox(toggle_performed_recordings, hide_performed_recs,
+ "Hide recordings with performance ARs"),
+ " ",
+ make_checkbox(toggle_pending_edits, hide_pending_edits,
+ "Hide recordings with pending edits"))))
.css("margin", "0.5em")
.insertAfter($container);