From: dibs Date: Wed, 26 Dec 2012 10:12:42 +0000 (+0900) Subject: [title] add spinner about page loading X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=452f8c7e9d8129ce418b900bca69999cc77d6c5d;p=sdk%2Ftools%2Fsdk-build.git [title] add spinner about page loading --- diff --git a/dibs-web/app/controllers/jobs_controller.rb b/dibs-web/app/controllers/jobs_controller.rb index 34bad93..9d1f779 100644 --- a/dibs-web/app/controllers/jobs_controller.rb +++ b/dibs-web/app/controllers/jobs_controller.rb @@ -106,40 +106,45 @@ class JobsController < ApplicationController #generate to XML doc = Builder::XmlMarkup.new( :target => out_string = "", :indent => 2 ) - doc.JobList { - jobs.each {|job_list| - job = get_job_info(job_list.id) - - doc.Job { - doc.Id(job.job_id) - doc.Distribution(job.distribution_name) - doc.ProjectName(job.project_name) - doc.JobType(job.job_type) - doc.JobAttribute(job_list.job_attribute) - doc.Os(job.supported_os_name) - doc.Status(job.status) - doc.UserName(job.user_name) - doc.StartTime(job.start_time) - doc.EndTime(job.end_time) - } + doc.Response { + generate_xml_header(doc) + doc.Data { + doc.JobList { + jobs.each {|job_list| + job = get_job_info(job_list.id) - if job_list.job_attribute == "MULTI" - child_jobs = get_child_job_info(job.job_id) - child_jobs.each {|job| doc.Job { doc.Id(job.job_id) doc.Distribution(job.distribution_name) doc.ProjectName(job.project_name) doc.JobType(job.job_type) - doc.JobAttribute("CHILD") + doc.JobAttribute(job_list.job_attribute) doc.Os(job.supported_os_name) doc.Status(job.status) doc.UserName(job.user_name) doc.StartTime(job.start_time) doc.EndTime(job.end_time) } + + if job_list.job_attribute == "MULTI" + child_jobs = get_child_job_info(job.job_id) + child_jobs.each {|job| + doc.Job { + doc.Id(job.job_id) + doc.Distribution(job.distribution_name) + doc.ProjectName(job.project_name) + doc.JobType(job.job_type) + doc.JobAttribute("CHILD") + doc.Os(job.supported_os_name) + doc.Status(job.status) + doc.UserName(job.user_name) + doc.StartTime(job.start_time) + doc.EndTime(job.end_time) + } + } + end } - end + } } } @@ -197,40 +202,45 @@ class JobsController < ApplicationController #generate to XML doc = Builder::XmlMarkup.new( :target => out_string = "", :indent => 2 ) - doc.JobList { - jobs.each {|job_list| - job = get_job_info(job_list.id) - - doc.Job { - doc.Id(job.job_id) - doc.Distribution(job.distribution_name) - doc.ProjectName(job.project_name) - doc.JobType(job.job_type) - doc.JobAttribute(job_list.job_attribute) - doc.Os(job.supported_os_name) - doc.Status(job.status) - doc.UserName(job.user_name) - doc.StartTime(job.start_time) - doc.EndTime(job.end_time) - } + doc.Response { + generate_xml_header(doc) + doc.Data { + doc.JobList { + jobs.each {|job_list| + job = get_job_info(job_list.id) - if job_list.job_attribute == "MULTI" - child_jobs = get_child_job_info(job.job_id) - child_jobs.each {|job| doc.Job { doc.Id(job.job_id) doc.Distribution(job.distribution_name) doc.ProjectName(job.project_name) doc.JobType(job.job_type) - doc.JobAttribute("CHILD") + doc.JobAttribute(job_list.job_attribute) doc.Os(job.supported_os_name) doc.Status(job.status) doc.UserName(job.user_name) doc.StartTime(job.start_time) doc.EndTime(job.end_time) } + + if job_list.job_attribute == "MULTI" + child_jobs = get_child_job_info(job.job_id) + child_jobs.each {|job| + doc.Job { + doc.Id(job.job_id) + doc.Distribution(job.distribution_name) + doc.ProjectName(job.project_name) + doc.JobType(job.job_type) + doc.JobAttribute("CHILD") + doc.Os(job.supported_os_name) + doc.Status(job.status) + doc.UserName(job.user_name) + doc.StartTime(job.start_time) + doc.EndTime(job.end_time) + } + } + end } - end + } } } @@ -293,21 +303,26 @@ class JobsController < ApplicationController #generate to XML doc = Builder::XmlMarkup.new( :target => out_string = "", :indent => 2 ) - doc.JobList { - jobs.each {|job_list| - job = get_job_info(job_list.id) - - doc.Job { - doc.Id(job.job_id) - doc.Distribution(job.distribution_name) - doc.ProjectName(job.project_name) - doc.JobType(job.job_type) - doc.JobAttribute(job_list.job_attribute) - doc.Os(job.supported_os_name) - doc.Status(job.status) - doc.UserName(job.user_name) - doc.StartTime(job.start_time) - doc.EndTime(job.end_time) + doc.Response { + generate_xml_header(doc) + doc.Data { + doc.JobList { + jobs.each {|job_list| + job = get_job_info(job_list.id) + + doc.Job { + doc.Id(job.job_id) + doc.Distribution(job.distribution_name) + doc.ProjectName(job.project_name) + doc.JobType(job.job_type) + doc.JobAttribute(job_list.job_attribute) + doc.Os(job.supported_os_name) + doc.Status(job.status) + doc.UserName(job.user_name) + doc.StartTime(job.start_time) + doc.EndTime(job.end_time) + } + } } } } diff --git a/dibs-web/config/database.yml b/dibs-web/config/database.yml index 319f61e..a9445ec 100644 --- a/dibs-web/config/database.yml +++ b/dibs-web/config/database.yml @@ -43,4 +43,4 @@ username: password: pool: - timeout: + timeout: diff --git a/dibs-web/public/index.html b/dibs-web/public/index.html index f099a2f..966cefb 100644 --- a/dibs-web/public/index.html +++ b/dibs-web/public/index.html @@ -26,15 +26,15 @@ Contributors: - S-Core Co., Ltd --> - + + DIBS 2.0 + - DIBS 2.0 - diff --git a/dibs-web/public/javascripts/dibs-api.js b/dibs-web/public/javascripts/dibs-api.js index 5d77209..4bf515f 100644 --- a/dibs-web/public/javascripts/dibs-api.js +++ b/dibs-web/public/javascripts/dibs-api.js @@ -83,6 +83,11 @@ function queryProjectsInfoInDistribution(distName, successFunction) { getInfoFromServer(url, successFunction); } +// controller : jobs +function queryJobsList(url, successFunction) { + getInfoFromServer(url, successFunction); +} + // controller : admin_group function queryAllGroup(successFunction) { var url = 'admin_group/queryAllGroup'; @@ -265,6 +270,8 @@ function getInfoFromServer(url, successFunction) { type: 'GET', dataType: 'xml', timeout: 10000, + beforeSend: function() { $.mobile.showPageLoadingMsg(); }, //Show spinner + complete: function() { $.mobile.hidePageLoadingMsg() }, //Hide spinner success: function(xml) { setSessionInfo(xml); successFunction(xml); @@ -283,6 +290,8 @@ function postForServer(url, changeInfoList, successFunction) { dataType: 'json', contentType: "application/json; charset=utf-8", timeout: 10000, + beforeSend: function() { $.mobile.showPageLoadingMsg(); }, //Show spinner + complete: function() { $.mobile.hidePageLoadingMsg() }, //Hide spinner success: function(xml) { successFunction(xml); }, @@ -300,6 +309,8 @@ function deleteForServer(url, successFunction) { cache: false, dataType: 'xml', timeout: 1000, + beforeSend: function() { $.mobile.showPageLoadingMsg(); }, //Show spinner + complete: function() { $.mobile.hidePageLoadingMsg() }, //Hide spinner success: function(xml) { expireSession(); dibsWebClear(); diff --git a/dibs-web/public/javascripts/jobs.js b/dibs-web/public/javascripts/jobs.js index b348ae9..02a4a2b 100644 --- a/dibs-web/public/javascripts/jobs.js +++ b/dibs-web/public/javascripts/jobs.js @@ -237,38 +237,38 @@ function clearJobList() { function queryJobListAll(distribution) { var selectedStatus= $('#jobStatusSelect').find("input[type='radio']:checked").val(); clearJobList(); - queryJobList(baseUrl+"jobs/list", distribution, selectedStatus, "LATEST"); + queryJobList("jobs/list", distribution, selectedStatus, "LATEST"); } function queryJobListJobId(distribution, jobId) { var distribution = $("#jobSelectDistribution option:selected").val(); var selectedStatus= $('#jobStatusSelect').find("input[type='radio']:checked").val(); clearJobList(); - queryJobList(baseUrl+"jobs/list", distribution, selectedStatus, eval(parseInt(jobId) + 1)); + queryJobList("jobs/list", distribution, selectedStatus, eval(parseInt(jobId) + 1)); } function queryJobListUserName(distribution, name) { var distribution = $("#jobSelectDistribution option:selected").val(); var selectedStatus= $('#jobStatusSelect').find("input[type='radio']:checked").val(); clearJobList(); - queryJobList(baseUrl+"jobs/listSearchUser/"+name, distribution, selectedStatus, "LATEST"); + queryJobList("jobs/listSearchUser/"+name, distribution, selectedStatus, "LATEST"); } function queryJobListUserGroup(distribution, group) { var selectedStatus= $('#jobStatusSelect').find("input[type='radio']:checked").val(); clearJobList(); - queryJobList(baseUrl+"jobs/listSearchGroup/"+group, distribution, selectedStatus, "LATEST"); + queryJobList("jobs/listSearchGroup/"+group, distribution, selectedStatus, "LATEST"); } function queryJobListProject(distribution, project) { var selectedStatus= $('#jobStatusSelect').find("input[type='radio']:checked").val(); clearJobList(); - queryJobList(baseUrl+"jobs/listSearchProject/"+project, distribution, selectedStatus, "LATEST"); + queryJobList("jobs/listSearchProject/"+project, distribution, selectedStatus, "LATEST"); } function queryJobListDate(distribution, date) { var selectedStatus= $('#jobStatusSelect').find("input[type='radio']:checked").val(); clearJobList(); - queryJobList(baseUrl+"jobs/listSearchDate/"+date, distribution, selectedStatus, "LATEST"); + queryJobList("jobs/listSearchDate/"+date, distribution, selectedStatus, "LATEST"); } function jobQueryDistribution() { @@ -296,123 +296,112 @@ function jobQueryDistribution() { } function queryJobList(requestUrl, distribution, selectedStatus, jobId) { - var url = requestUrl+"/"+ distribution +"/"+ selectedStatus+"/"+jobId; -console.log(url); -//console.log(escape(url)); -//console.log(encodeURI(url)); -//console.log(encodeURIComponent(url)); -//console.log(jobId); - $.ajax({ - url: url, - type: 'GET', - dataType: 'xml', - crossDomain: true, - timeout: 10000, - error: function(jqXHR) { - errorProcess(jqXHR); - }, - success: function(xml) { - var lastJobId = 0; - $(xml).find("JobList").find("Job").each(function(){ - var id = $(this).find("Id").text(); - var distribution = $(this).find("Distribution").text(); - var projectName = $(this).find("ProjectName").text(); - var jobType = $(this).find("JobType").text(); - var jobAttribute = $(this).find("JobAttribute").text(); - var os = $(this).find("Os").text(); - var jobStatus = $(this).find("Status").text(); - var userName = $(this).find("UserName").text(); - var startTime = $(this).find("StartTime").text(); - var endTime = $(this).find("EndTime").text(); - var li = ""; - - if(jobAttribute == "SINGLE") - { - li = '
  • ' - + id+ ' ' +projectName+ '
  • ' - + '
  • ' - + '

    ' +projectName+ '

    ' - + '

    ID : ' +id+ '

    ' - + '

    TYPE : ' +jobType+ '

    ' - + '

    OS : ' + os + '

    ' - + '

    USER : ' +userName+ '

    ' - + '

    TIME: ' +startTime+ ' ~ '+endTime+ '

    '; - if(jobStatus == "ERROR" || jobStatus == "CANCELED") { - li = li + '

    ' +jobStatus+ '

    ' - } else if(jobStatus == "JUST_CREATED" || jobStatus == "WAITING" - || jobStatus == "WORKING" || jobStatus == "REMOTE_WORKING" - || jobStatus == "PENDING") { - li = li + '

    ' +jobStatus+ '

    ' - } else if(jobStatus == "FINISHED") { - li = li + '

    ' +jobStatus+ '

    ' - } else { - li = li + '

    ' +jobStatus+ '

    ' - } - - li = li + '
  • '; - } - else if(jobAttribute == "MULTI") - { - li = '
  • ' +id+ ' ' +jobType+ '
  • ' - + '
  • ' - + '

    USER : ' +userName+ '

    ' - + '

    TIME: ' +startTime+ ' ~ '+endTime+ '

    '; - if(jobStatus.toUpperCase() == "ERROR" || jobStatus.toUpperCase() == "CANCELED") { - li = li + '

    ' +jobStatus+ '

    ' - } else if(jobStatus == "JUST_CREATED" || jobStatus == "WAITING" - || jobStatus == "WORKING" || jobStatus == "REMOTE_WORKING" - || jobStatus == "PENDING") { - li = li + '

    ' +jobStatus+ '

    ' - } else if(jobStatus == "FINISHED") { - li = li + '

    ' +jobStatus+ '

    ' - } else { - li = li + '

    ' +jobStatus+ '

    ' - } - - li = li + '
  • '; - } - else if(jobAttribute == "CHILD") - { - li = '
  • ' - + '

    ' +projectName+ '

    ' - + '

    ID : ' +id+ '

    ' - + '

    TYPE : ' +jobType+ '

    ' - + '

    OS : ' +os+ '

    ' - + '

    TIME: ' +startTime+ ' ~ '+endTime+ '

    '; - if(jobStatus.toUpperCase() == "ERROR" || jobStatus.toUpperCase() == "CANCELED") { - li = li + '

    ' +jobStatus+ '

    ' - } else if(jobStatus == "JUST_CREATED" || jobStatus == "WAITING" - || jobStatus == "WORKING" || jobStatus == "REMOTE_WORKING" - || jobStatus == "PENDING") { - li = li + '

    ' +jobStatus+ '

    ' - } else if(jobStatus == "FINISHED") { - li = li + '

    ' +jobStatus+ '

    ' - } else { - li = li + '

    ' +jobStatus+ '

    ' - } - - li = li + '
  • '; - } - - lastJobId = id; - $("#jobList").append(li).listview('refresh'); - }); - - console.log(lastJobId); - if(lastJobId > 0) + var url = requestUrl+"/"+ distribution +"/"+ selectedStatus+"/"+jobId; + console.log(url); + queryJobsList(url, function(xml) { + var lastJobId = 0; + $(xml).find("JobList").find("Job").each(function(){ + var id = $(this).find("Id").text(); + var distribution = $(this).find("Distribution").text(); + var projectName = $(this).find("ProjectName").text(); + var jobType = $(this).find("JobType").text(); + var jobAttribute = $(this).find("JobAttribute").text(); + var os = $(this).find("Os").text(); + var jobStatus = $(this).find("Status").text(); + var userName = $(this).find("UserName").text(); + var startTime = $(this).find("StartTime").text(); + var endTime = $(this).find("EndTime").text(); + var li = ""; + + if(jobAttribute == "SINGLE") + { + li = '
  • ' + + id+ ' ' +projectName+ '
  • ' + + '
  • ' + + '

    ' +projectName+ '

    ' + + '

    ID : ' +id+ '

    ' + + '

    TYPE : ' +jobType+ '

    ' + + '

    OS : ' + os + '

    ' + + '

    USER : ' +userName+ '

    ' + + '

    TIME: ' +startTime+ ' ~ '+endTime+ '

    '; + if(jobStatus == "ERROR" || jobStatus == "CANCELED") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "JUST_CREATED" || jobStatus == "PENDING" + || jobStatus == "WORKING" || jobStatus == "REMOTE_WORKING") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "WAITING") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "FINISHED") { + li = li + '

    ' +jobStatus+ '

    ' + } else { + li = li + '

    ' +jobStatus+ '

    ' + } + + li = li + '
  • '; + } + else if(jobAttribute == "MULTI") { - var moreJobListUrl = 'queryJobList("'+requestUrl+'", "'+distribution+'", "'+selectedStatus+'", "'+lastJobId+'")'; - $('#moreJobList').attr("onClick", moreJobListUrl); - $('#moreJobList').removeClass('ui-disabled'); + li = '
  • ' +id+ ' ' +jobType+ '
  • ' + + '
  • ' + + '

    USER : ' +userName+ '

    ' + + '

    TIME: ' +startTime+ ' ~ '+endTime+ '

    '; + if(jobStatus.toUpperCase() == "ERROR" || jobStatus.toUpperCase() == "CANCELED") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "JUST_CREATED" || jobStatus == "PENDING" + || jobStatus == "WORKING" || jobStatus == "REMOTE_WORKING") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "WAITING") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "FINISHED") { + li = li + '

    ' +jobStatus+ '

    ' + } else { + li = li + '

    ' +jobStatus+ '

    ' + } + + li = li + '
  • '; } - else + else if(jobAttribute == "CHILD") { - $('#moreJobList').addClass('ui-disabled'); + li = '
  • ' + + '

    ' +projectName+ '

    ' + + '

    ID : ' +id+ '

    ' + + '

    TYPE : ' +jobType+ '

    ' + + '

    OS : ' +os+ '

    ' + + '

    TIME: ' +startTime+ ' ~ '+endTime+ '

    '; + if(jobStatus.toUpperCase() == "ERROR" || jobStatus.toUpperCase() == "CANCELED") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "JUST_CREATED" || jobStatus == "PENDING" + || jobStatus == "WORKING" || jobStatus == "REMOTE_WORKING") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "WAITING") { + li = li + '

    ' +jobStatus+ '

    ' + } else if(jobStatus == "FINISHED") { + li = li + '

    ' +jobStatus+ '

    ' + } else { + li = li + '

    ' +jobStatus+ '

    ' + } + + li = li + '
  • '; } - $('#moreJobList').button('refresh'); - applyStyleLogWindow(); + + lastJobId = id; + $("#jobList").append(li).listview('refresh'); + }); + + console.log(lastJobId); + if(lastJobId > 0) + { + var moreJobListUrl = 'queryJobList("'+requestUrl+'", "'+distribution+'", "'+selectedStatus+'", "'+lastJobId+'")'; + $('#moreJobList').attr("onClick", moreJobListUrl); + $('#moreJobList').removeClass('ui-disabled'); } - }); + else + { + $('#moreJobList').addClass('ui-disabled'); + } + $('#moreJobList').button('refresh'); + applyStyleLogWindow(); + }, errorProcess); } function clearSuggestJobSearchList() { diff --git a/dibs-web/public/javascripts/popup-window.js b/dibs-web/public/javascripts/popup-window.js index 10e0081..fd5d493 100644 --- a/dibs-web/public/javascripts/popup-window.js +++ b/dibs-web/public/javascripts/popup-window.js @@ -38,7 +38,7 @@ Contributors: centerScreen:0, // center window over entire screen? {1 (YES) or 0 (NO)}. overrides top and left height:500, // sets the height in pixels of the window. left:0, // left position when the window appears. - location:0, // determines whether the address bar is displayed {1 (YES) or 0 (NO)}. + location:1, // determines whether the address bar is displayed {1 (YES) or 0 (NO)}. menubar:0, // determines whether the menu bar is displayed {1 (YES) or 0 (NO)}. resizable:0, // whether the window can be resized {1 (YES) or 0 (NO)}. Can also be overloaded using resizable. scrollbars:1, // determines whether scrollbars appear on the window {1 (YES) or 0 (NO)}.