Конфигурация желе Развернуть элементы

У меня есть быстрый вопрос. В jenkins при создании файла конфигурации желе для графического интерфейса вы можете расширить переключатель и показать больше элементов, можно ли это сделать и с помощью раскрывающегося списка? Если да, у кого-нибудь есть пример, пожалуйста? Я знаю, как это сделать с помощью переключателей, но мне не нужны переключатели, мне нужно, чтобы содержимое зависело от выбора.

Изменить: в настоящее время у меня есть следующее:

   <f:entry title="${%Authentication}" field="authMode">
        <f:select />
    </f:entry>

и в java-файле:

    public ListBoxModel doFillAuthModeItems() {
        ListBoxModel items = new ListBoxModel();
        items.add("None");
        items.add("Form Based Authentication");
        items.add("Script Based Authentication");
        return items;
        }

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


person codeCompiler77    schedule 04.10.2016    source источник


Ответы (1)


Что вам нужно исследовать, так это тег желе гетеро-списка. На нем есть хорошая страница от cloud bees, хотя их код закрыт

Я собрал один с открытым исходным кодом для selenium-axis-plugin но это в groovy и с использованием groovy форм

namespace(lib.FormTagLib).with {
    entry(title: _("Name"), field:"name") {
        textbox( default:"label")
    }
    block{
        entry(field:"seleniumCapabilities") {
            hetero_list( name: "seleniumCapabilities",
                      hasHeader: true,
                      descriptors:descriptor.axisItemTypes(),
                      items:      instance? 
                           instance.getSeleniumCapabilities():
                           descriptor.loadDefaultItems())
        }
    }
}

источник

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

List<ItemDescriptor> axisItemTypes() {
    def ait = Jenkins.instance.<Item,ItemDescriptor>getDescriptorList(Item)

    def ret = []

    for (int i = 0; i < ait.size(); i++) {
        /*code removed*/
        ret.add(ait.get(i))
    }
    ret
}

источник

Все вложенные элементы должны иметь свои собственные дескрипторы, а также @DataBoundConstructor.

person KeepCalmAndCarryOn    schedule 04.10.2016
comment
Я очень ценю это! Я посмотрю на это. У меня больше опыта работы с groovy, но проект, который я взял на себя, находится в желе, и я не совсем знаком с тем, как это сделать в желе, и не смог найти учебник под рукой. Но вы дали мне отличное место для начала, спасибо - person codeCompiler77; 04.10.2016