SE-AutoReviewComments привязка к textarea

предыстория.

когда-то существовало дополнение для firefox, позволяющее заготовить свой собственный набор типичных комментариев. об этом даже у нас на мете было упоминание.

потом в firefox внесли исправления, приведшие к его неработоспособности, но можно было получить ту же функциональность с помощью greasemonkey-скрипта.

потом (примерно в июне прошлого года) в дизайн (как минимум нашего сайта — https://ru.stackoverflow.com) внесли исправление, которое потребовало корректировки скрипта для того, чтобы ссылка «auto» (нажав которую, можно выбрать подходящий текст для вставки в поле ввода) корректно вставлялась в нужное место в диалоге закрытия вопроса:

--- autoreviewcomments.user.js.orig 2021-01-14 14:36:47.989240459 +0000
+++ autoreviewcomments.user.js  2021-01-14 14:37:32.227605251 +0000
@@ -862,7 +862,7 @@
      *                     comment should be placed.
      */
     function findClosureElements(where) {
-      var injectNextTo = $(".close-as-off-topic-pane textarea");
+      var injectNextTo = $("#site-specific-comment textarea");
       var placeCommentIn = injectNextTo;
       return [injectNextTo, placeCommentIn];
     }

сейчас

на днях опять произошла смена дизайна сайта, и ссылка опять перестала отображаться в диалоге закрытия. появляться она должна вот после этого элемента (отображается в диалоге закрытия вопроса после выбора «Специфичная для сообщества причина», затем «Другая причина - добавить комментарий»):

<textarea class="s-textarea mt8" name="siteSpecificOtherText"
  placeholder="К примеру: этот вопрос про администрирование и лучше бы подошёл для Serverfault Stack Exchange.">
  Я голосую за закрытие этого вопроса, потому что 
</textarea>

по аналогии с предыдущим исправлением я попробовал заменить .close-as-off-topic-pane на .s-textarea, но, видимо, этого недостаточно: ссылка «auto» не появляется.

какие ещё изменения надо внести в скрипт (повторяю прямую ссылку), чтобы в диалоге закрытия появлялась кнопка «auto», которая должна вставляться туда этим скриптом?

p.s. думаю, излишне вставлять сюда весь текст скрипта. надо бы ограничиться какими-то ключевыми моментами, но моих познаний в javascript недостаточно для вычленения этих моментов. надеюсь, что специалисты помогут и внесут соответствующие правки в текст вопроса.


Ответы (2 шт):

Автор решения: Spatz

Проверял на enso, должно сработать и здесь (надеюсь...)

@@ -826,7 +826,7 @@
     }
     attachAutoLinkInjector(".js-add-link", findCommentElements, injectAutoLink, autoLinkAction);
     attachAutoLinkInjector(".edit-post", findEditSummaryElements, injectAutoLinkEdit, autoLinkAction);
-    attachAutoLinkInjector(".close-question-link", findClosureElements, injectAutoLinkClosure, autoLinkAction);
+    attachAutoLinkInjector(".js-close-question-link", findClosureElements, injectAutoLinkClosure, autoLinkAction);
     attachAutoLinkInjector(".review-actions input:first", findReviewQueueElements, injectAutoLinkReviewQueue, autoLinkAction);
 
     /**
@@ -860,7 +860,7 @@
      *                     comment should be placed.
      */
     function findClosureElements(where) {
-      var injectNextTo = $(".close-as-off-topic-pane textarea");
+      var injectNextTo = $("#site-specific-comment textarea");
       var placeCommentIn = injectNextTo;
       return [injectNextTo, placeCommentIn];
     }
→ Ссылка
Автор решения: aleksandr barakin

после очередного обновления дизайна, произошедшего на нашем сайте 23 февраля 2021, обсуждаемый диалог стал появляться ниже (в третьем измерении) стандартного диалога указания причины закрытия (т.е. стандартный диалог его перекрывает).

у стандартного диалога: z-index: 9000 !important.

у обсуждаемого диалога (для выбора собственной причины) свойства z-index вообще не наблюдается.


добавил в строку с определением переменной ccsTemplate:

var cssTemplate = '<style>.auto-review-comments.popup{position:absolute;display:block;width:690px;padding:15px 15px 10px}.auto-review-comments.popup ...

свойство z-index:10000:

var cssTemplate = '<style>.auto-review-comments.popup{position:absolute;display:block;width:690px;padding:15px 15px 10px;z-index:10000}.auto-review-comments.popup ...
→ Ссылка