2015-07-08 3 views
2

Я пытаюсь использовать @onclick при разработке плагина jenkins, но ничего не происходит, когда на нем установлен флажок, который имеет этот атрибут (то же самое с @onchange).onclick in jelly не работает, jenkins plugin

У меня есть флажок для каждого выполненного задания как ListViewColumn с соответствующим column.jelly файл

<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form"> 

<td> 
<f:checkbox name="selected" onclick="${it.itClicked()}" onchange="${it.itClicked()}" /> 
</td> 
</j:jelly> 

и метод itClicked() находится в соответствующем Java класса этого желе файла:

class CheckboxTemplate extends ListViewColumn { 

    ... 

    public void itClicked() { 
     System.out.println("it clicked!"); 
    } 

    ... 

    @Extension 
    public static class DescriptorImpl extends ListViewColumnDescriptor { 

    ... 

    } 

Но это, по-видимому, не работает ...

Я сделал еще один плагин, перед которым называется метод в классе Java из предопределенного объекта «это» из файла желе, и он работал нормально, поэтому наличие метода, определенного на рабочем месте, не является проблемой (я предполагаю).

Любой, кто имеет представление о том, почему itClicked() не выполняется, когда флажок установлен или изменен?

Если есть информация о том, что я ошибался в публикации, скажите мне, и я вернусь с ней как можно скорее!

ответ

1

мне удалось решить эту проблему путем добавления

<st:bind var="myItem" value="${it}"/> 

в моем файле желе и меняющийся @clicked в

onclick="myItem.mark('${job.fullName}')" 

где mark() был определен во внутреннем интерфейсе с конкретной аннотацией

@JavaScriptMethod 
public void mark(String job) { 
    // do what you need to do 
} 

job, если, конечно, предопределенная переменная в столбце umn.jelly, который не требуется для этого, я только передал его, чтобы сопоставить флажок с соответствующим именем задания.

Надеюсь, это полезно для других, которые борются с документацией (и с несуществующими полными примерами) по этим темам.

Смежные вопросы