Как превратить поле типа select в Atlassian Jira 8.8.1 в поле Select2

Всем привет!

В московской группе пользователей Atlassian был вот такой вопрос:

Код ниже не работает в Atlassian Jira 8.8.1

<script type="text/javascript">
   var customfield_11123 = AJS.$("#customfield_11123").aui-select2();
//com.atlassian.auiplugin:aui-select2()
   console.log(AJS.format("{0}", customfield_11123.aui-select2()));
   $('div#id_customfield_11123').css("width","100%")
</script> 

Как заставить этот код работать?

Сначала давайте разберемся, что делает этот код.

Допустим у нас есть поле типа select:

И мы хотим, чтобы на экране создания и редактирования это поле выглядело бы вот так:

Мы изменили поле типа select в тип поля Select2.

Скрипт в вопросе добавлялся в описание поля my_select_list. Приятно видеть, что Atlassian закрыл эту возможность в Jira 8.8.1. Теперь код JavaScript нельзя добавлять в описания полей. Правильный способ был бы сделать плагин для этого решения или воспользоваться готовым (например, вот этим). Но хочется обойтись без плагина.

Это решение не является хорошим.

Добавьте вот такой код JavaScript в announcement banner:

<script type="text/javascript">
(function ($) {
    AJS.toInit(function () {

        JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, function (e, context, reason) {
            if (reason == JIRA.CONTENT_ADDED_REASON.dialogReady) {
              if ($('#create-issue-dialog').length || $('#edit-issue-dialog').length) {
                var customfield_10008 = $("#customfield_10008").auiSelect2();
                console.log(AJS.format("{0}", customfield_10008.auiSelect2()));
                $('div#s2id_customfield_10008').css("width","100%");
              }
            }
        });
    });
})(AJS.$);
</script> 

customfield_10008 – идентификатор поля my_select_list.

Этот код работает для экрана создания и редактирования запроса.

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Leave a Reply

%d bloggers like this:

Spelling error report

The following text will be sent to our editors: