2011-07-04 3 views
1


いくつかの設定オプションを使用してJira用のガジェットを作成しています。これらの設定オプションの1つは、「プロジェクトまたはフィルタピッカー」です。
私の問題は、ガジェットの設定を再構成したいときに、その部分にあります。私は、一例としてtimesince-ガジェットのコードを読んでいると私は、関連する部分は次のようだと思う。私はtimesince-ガジェットからコードをコピーしたJira 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); 
} 

Basicly。残念ながら、既に設定されていても、javascriptは常にelse部分に入ります。
問題は、私はjqlに関する経験がなく、if節を完全に理解していないということです。

が、通常は、(例えば、残りのAPIを呼び出すと設定に関する情報を処理するとき)

gadget.getPref("projectOrFilterId") 

採取プロジェクトまたはフィルタのIDを含む文字列を返します。

質問:私のガジェットは、他の多くのJiraガジェットと同様に最後の設定を記憶させることができますか?

誰もが私を助けてくれることを願っています。

答えて

1

それは答えがさらに単純になっています。 最初:ディスクリプタでは、上記のif部分を完全に忘れることができます。ちょうど

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

が必要です。 2番目:残りのリソース内のプロジェクトまたはフィルタの名前を取得します。これはすでに処理済みのIDを使用したいので問題ではありません。その後

this.projectOrFilterName = args.myrestclasskey.projectOrFilterName; 

そして、多田のようなもので、あなたのJavaScriptと種類のビューの部分に戻って、この名前を返す:再構成が古い構成された名前が表示されます!

0

ガジェットXMLファイルでオプションを指定するのを忘れたときに、この問題が発生しました。私はこれをXMLに追加して解決しました:

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

getPref呼び出しが正しい値を返したので、userPrefを忘れている可能性はほとんどありませんでした。とにかくありがとう! – Alex

関連する問題