我正在为Jira编写一个带有一些配置选项的小工具。其中一个配置选项是“项目或过滤器选取器”。
当我想要重新配置小工具的首选项时,我的问题出在部件上。我已经读过timesince gadget的代码作为一个例子,我认为相关的部分如下:
if (/^jql-/.test(gadget.getPref("projectOrFilterId"))){
projectAndFilterPicker =
{
userpref: "projectOrFilterId",
type: "hidden",
value: gadgets.util.unescapeString(this.getPref("projectOrFilterId"))
};
} else {
projectAndFilterPicker = AJS.gadget.fields.projectOrFilterPicker(gadget, "projectOrFilterId", args.options);
}基本上,我已经复制了timesince gadget中的代码。不幸的是,即使已经配置好了,javascript也总是会进入else部分。
一个问题是,我没有使用jql的经验,也不完全理解if子句。
但通常(例如,在调用rest api和处理配置信息时)
gadget.getPref("projectOrFilterId")返回包含所选项目或筛选器的id的字符串。
现在的问题是:我如何让我的小工具像其他许多Jira小工具一样记住最后的配置?
我真的希望有人能帮我做这件事。
发布于 2011-08-17 15:06:18
结果是,答案比我想的还要简单。首先:在描述符中,你可以完全忘记上面的if部分。只是
var projectAndFilterPicker = AJS.gadget.fields.projectOrFilterPicker(gadget, "projectOrFilterId", args.options);是必需的。第二:在rest资源中检索项目或过滤器的名称,这应该不是问题,因为您已经想要使用已处理的id。然后将此名称返回到javascript的视图部分,并键入类似于
this.projectOrFilterName = args.myrestclasskey.projectOrFilterName;和tada: reconfiguration将显示旧配置名称!
发布于 2011-07-21 02:11:37
有一次,当我忘记在Gadget XML文件中指定选项时,我遇到了这个问题。我通过将以下内容添加到XML中解决了这个问题:
<UserPref name="projectOrFilterId" datatype="hidden"/>https://stackoverflow.com/questions/6572600
复制相似问题