Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app/views
diff options
context:
space:
mode:
authorValery Sizov <valery@gitlab.com>2015-01-20 22:52:55 +0300
committerValery Sizov <valery@gitlab.com>2015-01-20 22:52:55 +0300
commit6da0ab7d60ecdf189190ac095aecdf174e73a03e (patch)
tree07009672720ae536a550d639155be01414248cc4 /app/views
parentf9fb76670f9db5c7bf7d74fe0129129c785f8099 (diff)
Github Importer: AJAX update status
Diffstat (limited to 'app/views')
-rw-r--r--app/views/github_imports/create.js.haml6
-rw-r--r--app/views/github_imports/status.html.haml27
2 files changed, 25 insertions, 8 deletions
diff --git a/app/views/github_imports/create.js.haml b/app/views/github_imports/create.js.haml
index 363dfeb4f54..cd4c9fbf360 100644
--- a/app/views/github_imports/create.js.haml
+++ b/app/views/github_imports/create.js.haml
@@ -12,5 +12,7 @@
target_field.find('input').prop("value", origin_namespace)
- else
:plain
- $("table.import-jobs tbody").prepend($("tr#repo_#{@repo_id}"))
- $("tr#repo_#{@repo_id}").addClass("active").find(".import-actions").html("<i class='fa fa-spinner fa-spin'></i> started")
+ job = $("tr#repo_#{@repo_id}")
+ job.attr("id", "project_#{@project.id}")
+ $("table.import-jobs tbody").prepend(job)
+ job.addClass("active").find(".import-actions").html("<i class='fa fa-spinner fa-spin'></i> started")
diff --git a/app/views/github_imports/status.html.haml b/app/views/github_imports/status.html.haml
index 47c60e4d45f..52a1e16cd04 100644
--- a/app/views/github_imports/status.html.haml
+++ b/app/views/github_imports/status.html.haml
@@ -3,9 +3,7 @@
Import repositories from GitHub.com
%p.light
- Select projects you want to import.
- %span.pull-right
- Reload to see the progress.
+ Select projects you want to import.
%hr
%table.table.import-jobs
@@ -16,11 +14,11 @@
%th Status
%tbody
- @already_added_projects.each do |project|
- %tr{id: "repo_#{project.id}", class: "#{project_status_css_class(project.import_status)}"}
+ %tr{id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}"}
%td= project.import_source
%td
%strong= link_to project.name_with_namespace, project
- %td
+ %td.job-status
- if project.import_status == 'finished'
%span.cgreen
%i.fa.fa-check
@@ -33,7 +31,7 @@
%td= repo.full_name
%td.import-target
= repo.full_name
- %td.import-actions
+ %td.import-actions.job-status
= button_tag "Add", class: "btn btn-add-to-import"
@@ -46,3 +44,20 @@
new_namespace = tr.find(".import-target input").prop("value")
tr.find(".import-target").empty().append(new_namespace + "/" + tr.find(".import-target").data("project_name"))
$.post "#{github_import_url}", {repo_id: id, new_namespace: new_namespace}, dataType: 'script'
+
+
+ setInterval (->
+ $.get "#{jobs_github_import_path}", (data)->
+ $.each data, (i, job) ->
+ job_item = $("#project_" + job.id)
+ status_field = job_item.find(".job-status")
+
+ if job.import_status == 'finished'
+ job_item.removeClass("active").addClass("success")
+ status_field.html('<span class="cgreen"><i class="fa fa-check"></i> done</span>')
+ else if job.import_status == 'started'
+ status_field.html("<i class='fa fa-spinner fa-spin'></i> started")
+ else
+ status_field.html(job.import_status)
+
+ ), 4000