Jira Gadget:未保存配置以进行重新配置

时间:2011-07-04 14:10:05

标签: javascript jira jira-plugin picker jql


我正在为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子句。

但通常(例如,在调用其余的api并处理配置信息时)

gadget.getPref("projectOrFilterId")

返回一个字符串,其中包含所选项目或过滤器的ID。

现在问题:如何让我的小工具记住上次配置,就像使用其他许多Jira小工具一样?

我真的希望有人能帮助我。

2 个答案:

答案 0 :(得分:1)

事实证明,答案甚至比我想象的更简单。 第一:在描述符中你可以完全忘记上面的if部分。刚

var projectAndFilterPicker = AJS.gadget.fields.projectOrFilterPicker(gadget, "projectOrFilterId", args.options);

是必需的。 第二:在您的rest资源中检索项目或过滤器的名称,这应该不是问题,因为您已经想要使用已处理的id。然后将此名称返回到javascript的视图部分并输入类似

的内容
this.projectOrFilterName = args.myrestclasskey.projectOrFilterName;

并且tada:重新配置将显示旧的配置名称!

答案 1 :(得分:0)

当我忘记在Gadget XML文件中指定选项时,我遇到了这个问题。我通过将其添加到XML来解决它:

    <UserPref name="projectOrFilterId" datatype="hidden"/>