我正在尝试在我的JIRA中使用一些AUI - 在我自己的自定义字段的编辑模式下用JAVA编写。 我找到了这个页面:https://docs.atlassian.com/aui/latest/sandbox/#并且将来我想使用设置示例Auiselect2。
https://docs.atlassian.com/aui/5.5.1/docs/auiselect2.html - 这里写的是,这只是实验性的,我应该采取哪些步骤来使用它?在下面的例子中你可以看到,我试图添加这个功能,但它很简单没有用。我正在使用文档中提到的示例 -
edit.vm:
$webResourceManager.requireResource("cz.firma.rozy:zakaznik")
<form class="aui">
<select id="select2-example" multiple>
<option value="CONF">Confluence</option>
<option value="JIRA">JIRA</option>
<option value="BAM">Bamboo</option>
<option value="JAG">JIRA Agile</option>
<option value="CAP">JIRA Capture</option>
<option value="AUI">AUI</option>
</select>
</form>
和zakaznik.js
AJS.$(function() {
AJS.$("#select2-example").auiSelect2();
});
我的atlassian-plugin.xml是:
<web-resource key="zakaznik-resources" name="zakaznik Web Resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<dependency>com.atlassian.auiplugin:jquery</dependency>
<dependency>com.atlassian.auiplugin:jquery-ui-other</dependency>
<dependency>com.atlassian.auiplugin:aui-select2</dependency>
<context>atl.general</context>
<context>atl.admin</context>
<resource type="download" name="zakaznik.css" location="/css/zakaznik.css"/>
<resource type="download" name="zakaznik.js" location="/js/zakaznik.js"/>
<resource type="download" name="images/" location="/images"/>
<context>zakaznik</context>
</web-resource>
...
<customfield-type name="Pridani zakaznika" i18n-name-key="customer-add.name" key="customer-add" class="cz.firma.rozy.jira.customfields.CustomerCustomField">
<description key="customer-add.description">Plugin, ktery prida zakaznika z abry</description>
<resource name="view" type="velocity" location="templates/viewCustomer.vm"/>
<resource name="edit" type="velocity" location="templates/edit.vm"/>
</customfield-type>
但是当我访问编辑模式时,没有完成jQuery - 浏览器控制台不会写任何错误或警告。
答案 0 :(得分:1)
只需将此行添加到edit.vm,就会包含select2 js。
$webResourceManager.requireResource("com.atlassian.auiplugin:aui-select2")
您无需在Web资源中将其添加为依赖项。
在你的js文件中,只需通过 -
调用select2AJS.$("#select2-example").select2();
答案 1 :(得分:0)
您只需在edit.vm
中添加以下内容即可$webResourceManager.requireResourcesForContext("zakaznik")
我不同意所提供的其他答案。当我们已经在资源文件中添加js时,为什么要在edit.vm文件中再次执行此操作。只需参考我们已经使用它创建的网络资源。
答案 2 :(得分:0)
您需要通过webResourceManager
加载aui资源。
atlassian-plugin.xml
不需要更改。
您的customfields .vm
文件可能如下所示:
#controlHeader ($action $customField.id $customField.name $fieldLayoutItem.required $displayParameters.noHeader)
$webResourceManager.requireResource("com.atlassian.auiplugin:aui-select2")
<script type="text/javascript">
AJS.toInit(function() {
AJS.$("#$customField.id").select2();
});
</script>
<select name="$customField.id" id="$customField.id" multiple>
#foreach ($option in $options)
<option value="$option">$option</option>
#end
</select>
#controlFooter ($action $fieldLayoutItem.fieldDescription $displayParameters.noHeader)