|
@@ -119,7 +119,6 @@ TFD.prototype._unblock_submit = function(reason) { |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
TFD.prototype._error = function(msg, extra) { |
|
|
TFD.prototype._error = function(msg, extra) { |
|
|
// TODO: expand: advise refreshing, reporting persistent errors |
|
|
|
|
|
var elem = $("<span/>", { |
|
|
var elem = $("<span/>", { |
|
|
text: "Error: " + (extra ? msg + ": " : msg), |
|
|
text: "Error: " + (extra ? msg + ": " : msg), |
|
|
style: "color: #A00;" |
|
|
style: "color: #A00;" |
|
@@ -129,6 +128,23 @@ TFD.prototype._error = function(msg, extra) { |
|
|
text: extra, |
|
|
text: extra, |
|
|
style: "font-family: monospace;" |
|
|
style: "font-family: monospace;" |
|
|
})); |
|
|
})); |
|
|
|
|
|
|
|
|
|
|
|
var contact = $("<a/>", { |
|
|
|
|
|
href: "https://en.wikipedia.org/wiki/User_talk:The_Earwig", |
|
|
|
|
|
title: "User talk:The Earwig", |
|
|
|
|
|
text: "contact me" |
|
|
|
|
|
}), file_bug = $("<a/>", { |
|
|
|
|
|
href: "https://github.com/earwig/tfdclerk", |
|
|
|
|
|
title: "earwig/tfdclerk", |
|
|
|
|
|
text: "file a bug report" |
|
|
|
|
|
}); |
|
|
|
|
|
elem.append($("<br/>")) |
|
|
|
|
|
.append($("<small/>", { |
|
|
|
|
|
html: "This may be caused by an edit conflict or other " + |
|
|
|
|
|
"intermittent problem. Try refreshing the page. If the error " + |
|
|
|
|
|
"persists, you can " + contact.prop("outerHTML") + " or " + |
|
|
|
|
|
file_bug.prop("outerHTML") + "." |
|
|
|
|
|
})); |
|
|
elem.insertAfter(this.box.find("h5")); |
|
|
elem.insertAfter(this.box.find("h5")); |
|
|
this._block_submit("error"); |
|
|
this._block_submit("error"); |
|
|
}; |
|
|
}; |
|
@@ -177,6 +193,7 @@ TFD.prototype._remove_option_box = function() { |
|
|
this.box.remove(); |
|
|
this.box.remove(); |
|
|
this.box = null; |
|
|
this.box = null; |
|
|
this._guard = false; |
|
|
this._guard = false; |
|
|
|
|
|
this._submit_blockers = []; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
TFD.prototype._add_option_box = function(verb, title, callback, options) { |
|
|
TFD.prototype._add_option_box = function(verb, title, callback, options) { |
|
@@ -201,11 +218,15 @@ TFD.prototype._add_option_box = function(verb, title, callback, options) { |
|
|
addClass: "tfdclerk-submit mw-ui-button mw-ui-progressive", |
|
|
addClass: "tfdclerk-submit mw-ui-button mw-ui-progressive", |
|
|
style: "margin-right: 0.5em;", |
|
|
style: "margin-right: 0.5em;", |
|
|
disabled: this._submit_blockers.length > 0, |
|
|
disabled: this._submit_blockers.length > 0, |
|
|
click: function() { callback.call(self); } |
|
|
|
|
|
|
|
|
click: function() { |
|
|
|
|
|
self._block_submit("submitting"); |
|
|
|
|
|
self.box.find(".tfdclerk-cancel").prop("disabled", true); |
|
|
|
|
|
callback.call(self); |
|
|
|
|
|
} |
|
|
})) |
|
|
})) |
|
|
.append($("<button/>", { |
|
|
.append($("<button/>", { |
|
|
text: "Cancel", |
|
|
text: "Cancel", |
|
|
addClass: "mw-ui-button", |
|
|
|
|
|
|
|
|
addClass: "tfdclerk-cancel mw-ui-button", |
|
|
click: function() { self._remove_option_box(); } |
|
|
click: function() { self._remove_option_box(); } |
|
|
})) |
|
|
})) |
|
|
.insertAfter(this.head); |
|
|
.insertAfter(this.head); |
|
@@ -230,12 +251,36 @@ TFD.prototype._add_option_table = function(options) { |
|
|
|
|
|
|
|
|
TFD.prototype._do_close = function() { |
|
|
TFD.prototype._do_close = function() { |
|
|
// TODO |
|
|
// TODO |
|
|
this._remove_option_box(); |
|
|
|
|
|
|
|
|
// rough mockup: |
|
|
|
|
|
// - post-submit ui updates |
|
|
|
|
|
// - result options -> result string |
|
|
|
|
|
// - disable comments box |
|
|
|
|
|
// - collapse/disable/fix actions |
|
|
|
|
|
// - add progress info area |
|
|
|
|
|
// - "Closing discussion..." |
|
|
|
|
|
// - add discussion close tags with result and comment, optional nac |
|
|
|
|
|
// - " done ([[diff]])" |
|
|
|
|
|
// - interface for closing each template |
|
|
|
|
|
// - replace gray buttons with progressive refresh button |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
TFD.prototype._do_relist = function() { |
|
|
TFD.prototype._do_relist = function() { |
|
|
// TODO |
|
|
// TODO |
|
|
this._remove_option_box(); |
|
|
|
|
|
|
|
|
// rough mockup: |
|
|
|
|
|
// - post-submit ui updates |
|
|
|
|
|
// - date input box -> link to new discussion log page |
|
|
|
|
|
// - disable comments box |
|
|
|
|
|
// - add progress info area |
|
|
|
|
|
// - "Adding discussion to new date..." |
|
|
|
|
|
// - add discussion to new date, plus relist template |
|
|
|
|
|
// - " done ([[diff]])" |
|
|
|
|
|
// - "Removing discussion from old date..." |
|
|
|
|
|
// - replace contents of section with {{relisted}} |
|
|
|
|
|
// - " done ([[diff]])" |
|
|
|
|
|
// - "Updating discussion link on template(s):\n* [[Template:A]]..." |
|
|
|
|
|
// - update |link param of {{template for discussion}} |
|
|
|
|
|
// - " done ([[diff]])" |
|
|
|
|
|
// - replace gray buttons with progressive refresh button |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
TFD.prototype._is_merge = function() { |
|
|
TFD.prototype._is_merge = function() { |
|
|