Javascript 如何调整Jira gadgets的大小;数据

Javascript 如何调整Jira gadgets的大小;数据,javascript,jira,jira-plugin,Javascript,Jira,Jira Plugin,我正在实现一个Jira小工具。我对检索数据有问题。 我正在将数据从DB检索到gadget。有很多列,因此小工具无法显示所有列。我想我必须调整数据的大小。还有一件事;如何停止检索数据以转到页面末尾? 这是我的gadget.xml #requireResource("com.atlassian.gadgets.publisher:ajs-gadgets") #requireResource("sqlGadget:Web-resources") #req

我正在实现一个Jira小工具。我对检索数据有问题。 我正在将数据从DB检索到gadget。有很多列,因此小工具无法显示所有列。我想我必须调整数据的大小。还有一件事;如何停止检索数据以转到页面末尾? 这是我的gadget.xml

        #requireResource("com.atlassian.gadgets.publisher:ajs-gadgets")
        #requireResource("sqlGadget:Web-resources")
        #requireResource("com.atlassian.jira.gadgets:common")   
        #requireResource("com.atlassian.jira.gadgets:autocomplete")
        #includeResources()

         <script type="text/javascript">
           (function () {
             var gadget = AJS.Gadget({
               baseUrl: "__ATLASSIAN_BASE_URL__", 
               useOauth: "/rest/gadget/1.0/currentUser",

        config: {
                             descriptor: function(args) {
                                var gadget = this;
                                gadgets.window.setTitle("SQL Gadget Config");
                                var projectPicker = AJS.gadget.fields.projectPicker(gadget, "projectId", args.projectOptions);
                                             return {

                              fields: [
                                  projectPicker,
                                  {
                            id: "configNumber-id",
                            userpref: "configNumber",
                            label: "Config number",
                            description: "",
                            type: "select",
                            selected: gadget.getPref("configNumber"),
                            options: [
                                        {
                                            label:"1",
                                            value:"1"
                                        },
                                        {
                                            label:"2",
                                            value:"2"
                                        },
                                        {
                                            label:"3",
                                            value:"3"
                                        }
                                     ]
                        },
                                  AJS.gadget.fields.nowConfigured()
                              ]

                          };
                      },

                       args: function()
                      {
                          return [
                              {
                                  key: "projectOptions",
                                  ajaxOptions:  "/rest/gadget/1.0/filtersAndProjects?showFilters=false"
                              }
                          ];
                      }()           
                },

     view: {
                        /* HTML PART*/

                         onResizeAdjustHeight: true,
                         enableReload: true,
                         template: function (args)
                         {

                        var gadget = this;                            
                        var response = args.projects.value;


                        AJS.$.each(AJS.$.parseJSON(response), function(idx, obj) {
                            console.log(obj);
                        });
                        var myList=AJS.$.parseJSON(response);   
                        var test="<body onLoad=buildHtmlTable()><table id=excelDataTable border=1> </table></body>";
                        document.getElementById("myDiv").innerHTML = test;

                       var columns = addAllColumnHeaders(myList); 
                       for (var i = 0 ; i < myList.length ; i++) {
                            var row$ = AJS.$('<tr/>');
                            for (var colIndex = 0 ; colIndex < columns.length ; colIndex++) {
                             var cellValue = myList[i][columns[colIndex]];

                            if (cellValue == null) { cellValue = ""; }

                                 row$.append(AJS.$('<td/>').html(cellValue));
                            }
                         AJS.$("#excelDataTable").append(row$);
                      }

                      function addAllColumnHeaders(myList)
                     {
                         var columnSet = [];
                         var headerTr$ = AJS.$('<tr/>');

                         for (var i = 0 ; i < myList.length ; i++) {
                            var rowHash = myList[i];
                            for (var key in rowHash) {
                                if (AJS.$.inArray(key, columnSet) == -1){
                                    columnSet.push(key);
                                    headerTr$.append(AJS.$('<th/>').html(key));
                                }
                            }   
                        }
             AJS.$("#excelDataTable").append(headerTr$);
             return columnSet;
}
                         },

                args: [
                             {
                                 key: "projects",
                                 ajaxOptions: function ()
                                 {
                            var projectName;
                            var confOrder;
                            var projectField = document.getElementById("projectId"); 
                            var confNumbElement = document.getElementById("configNumber-id");

                                if(projectField != null){
                                    projectName = projectField.options[projectField.selectedIndex].text;
                                    console.log(projectName);
                                }
                                if(confNumbElement != null){
                                    confOrder = confNumbElement.options[confNumbElement.selectedIndex].text;
                                    console.log(confOrder);
                                    this.configNumber = confOrder;
                                }
                             return {
                                         url: "/rest/sqlrestsource/latest/execute",
                                         data:  {
                                             projectId : gadgets.util.unescapeString(this.getPref("projectId")),
                                             configNumber : gadgets.util.unescapeString(this.getPref("configNumber")),
                                         }
                                     };

                                 }
                             }
                    ]    
          }
     });
})();
#requireResource(“com.atlassian.gadgets.publisher:ajsgadgets”)
#requireResource(“sqlGadget:Web资源”)
#requireResource(“com.atlassian.jira.gadgets:common”)
#requireResource(“com.atlassian.jira.gadgets:autocomplete”)
#includeResources()
(功能(){
var gadget=AJS.gadget({
baseUrl:“\uuuuAtlassian\uBase\uURL”,
UseAuth:“/rest/gadget/1.0/currentUser”,
配置:{
描述符:函数(args){
var gadget=this;
gadgets.window.setTitle(“SQLGadget配置”);
var projectPicker=AJS.gadget.fields.projectPicker(gadget,“projectId”,args.projectOptions);
返回{
字段:[
projectPicker,
{
id:“配置编号id”,
userpref:“配置编号”,
标签:“配置号”,
说明:“,
键入:“选择”,
选中:gadget.getPref(“configNumber”),
选项:[
{
标签:“1”,
值:“1”
},
{
标签:“2”,
值:“2”
},
{
标签:“3”,
值:“3”
}
]
},
gadget.fields.nowConfigured()
]
};
},
args:function()
{
返回[
{
键:“项目选项”,
ajaxOptions:“/rest/gadget/1.0/filtersAndProjects?showFilters=false”
}
];
}()           
},
视图:{
/*HTML部分*/
onResizeAdjustHeight:真,
enableReload:true,
模板:函数(args)
{
var gadget=this;
var response=args.projects.value;
AJS.$.each(AJS.$.parseJSON(响应)、函数(idx、obj){
控制台日志(obj);
});
var myList=AJS.$.parseJSON(响应);
var检验=”;
document.getElementById(“myDiv”).innerHTML=test;
var columns=addAllColumnHeaders(myList);
对于(变量i=0;i