Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 40 additions & 3 deletions SECloseVoteRequestGenerator.user.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// ==UserScript==
// @name Stack Exchange CV Request Generator
// @name _Stack Exchange CV Request Generator
// @namespace https://github.com/SO-Close-Vote-Reviewers/
// @version 2.0.4
// @version 2.1.0
// @description This script generates formatted close-/delete-/reopen-/undelete-vote requests, spam/offensive flag requests, Smoke Detector reports, and approve-/reject-pls requests for suggested edits, then sends them to a specified chat room.
// @author @TinyGiant @Makyen
// @contributor @rene @Tunaki
Expand Down Expand Up @@ -1000,6 +1000,14 @@
callback = function() {}; // eslint-disable-line no-empty-function
}
RoomList.getRoom(function(room) {
//Temporary target room if selected
var tempRoomUrl = $('#cvrgTempTargetRoom').val();
if (tempRoomUrl) {
var tempRoom = RoomList.url(tempRoomUrl);
if (tempRoom) {
room = tempRoom;
}
}
function displayRequestText(requestText, message) {
message += '' +
'<br/><br/>' +
Expand Down Expand Up @@ -1736,6 +1744,10 @@
' opacity: .4;' +
' pointer-events: none;' +
' }' +
' .cvrgTempRoomSelect {' +
' margin-left: 5px;' +
' margin-top: 10px;' +
' }' +
' .cvrgCVPopupSDAndNatoWithFake {' +
' display: inline-block;' +
' position: relative;' +
Expand Down Expand Up @@ -1813,6 +1825,12 @@
' NATO' +
' </label>' +
' </div>' +
' <div class="cvrgTempRoom">' +
' Temporary Target Room: ' +
' <select id="cvrgTempTargetRoom">' +
' <option value=""></option>' + //Temporarily change the target room if !== ""
' </select>' +
' </div>' +
' </div>' +
' <span class="cvrgDelayLengthSpan" style="display:none;">' +
' <span class="cvrgDelayInputGroup">' +
Expand Down Expand Up @@ -1882,6 +1900,15 @@
thisGuiItem.userChangedRequestType = true;
thisGuiItem.adjustDisplayToRequestReason();
});
//Populate temporary target room list
var tempTargetRoomSelect = item.find('#cvrgTempTargetRoom');
RoomList.each(function(room){
tempTargetRoomSelect.append(
$('<option>')
.val(room.url)
.text(room.name)
);
});
function addTextToReasonIfNotPresentAndCheckboxChecked(checkbox, textRegex, addText) {
const originalReason = requestReasonInput.val();
textRegex.lastIndex = 0;
Expand Down Expand Up @@ -4153,6 +4180,16 @@
var cvrgCheckboxWrapper = $('<div class="cvrgCVPopupCheckboxWrapper"></div>').append(cvplsCheckbox);
var andWasWrapper = $(' <span class="cvrgCVPopupAndWasWrapper" disabled="true"> & was:<div class="cvrgCVPopupSDAndNatoWithFake"><div class="cvrgCVPopupFakeSDReportCheckboxwrapper"><label class=""><input class="" type="checkbox">SD report</label></div><div class="cvrgCVPopupSDAndNato"><label class="cvrgCVPopupIsSDReportCheckboxLabel" title="This will add &quot;(SD report)&quot; to the report reason."><input class="cvrgCVPopupIsSDReportCheckbox" type="checkbox">SD report</label><label class="cvrgCVPopupIsNatoCheckboxLabel" title="This will add &quot;(NATO)&quot; to the report reason."><input class="cvrgCVPopupIsNatoCheckbox" type="checkbox">NATO</label></div></div></span>');
cvrgCheckboxWrapper.append(andWasWrapper)
//Dropdown to temporarily change the target room
var tempTargetRoomSelect = $('<select id="cvrgTempTargetRoom" class="cvrgTempRoomSelect"><option value = ""></option></select>');
RoomList.each(function(room){
tempTargetRoomSelect.append(
$('<option>')
.val(room.url)
.text(room.name)
);
});
cvrgCheckboxWrapper.append(tempTargetRoomSelect);
if (remainingVotes.length) {
remainingVotes.before(cvrgCheckboxWrapper);
} else {
Expand Down Expand Up @@ -5112,4 +5149,4 @@
startObservingTopbarStyle();
}
keepTopbarMarginAtNotifyConainer();
})();
})();