Gadget configuration - hourglass and help messages in UserPref

Séb P.
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 22, 2012

Hi,

I'm developing a gadget under Jira. Now that it works quite good, I'd like to improve the user experience. I did some research but didn't found:

1) is it possible to add an hourglass or something pretty to my gadget while it is loading? (it doesn't take lots of time, about half a second but it would be prettier with an UI for that part...)

2) is it possible to add some help messages under the fields in the userprefs (you know, the tags like <UserPref name="bla" datatype="string" display_name="bla" />) ? The display name is not enough to be clear about the meaning of a field...

Thank you!

1 answer

1 accepted

0 votes
Answer accepted
Séb P.
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 2, 2012

Ok, both comes out of the box when using the Jira-like style of gadget definition:

&lt;dependency&gt;com.atlassian.jira.gadgets:common&lt;/dependency&gt;
...
&lt;Require feature="views"/&gt;
...
&lt;UserPref name="xxx" datatype="hidden" default_value="xxx"/&gt;
&lt;UserPref name="isConfigured" datatype="hidden" default_value="false"/&gt;
...
&lt;script type="text/javascript"&gt;
  (function() {
    AJS.Gadget({
        baseUrl: "__ATLASSIAN_BASE_URL__",
        useOauth: "/rest/gadget/1.0/currentUser",
        config: {
          descriptor: function (args) {
            return {
              theme: "gdt",
              fields: [{
                userpref: "xxx",
                label: 'My Xxx',
                description: 'blabla',
                type: "textinput",
                value: gadget.getPref("xxx")
              }]
            };
          }
        },
        view: {
          onResizeAdjustHeight: true,
          enableReload: true,
          template: function(args) {
              var gadget = this;
              this.getView().empty();
          };
        }
    });
&lt;/script&gt;

Suggest an answer

Log in or Sign up to answer