Commit 9d63bd1e63669eac7955bf1c0620198154bfba4f
Exists in
master
and in
4 other branches
Merge branch 'feature/turbolinks' of /home/git/repositories/gitlab/gitlabhq
Showing
5 changed files
with
23 additions
and
0 deletions
Show diff stats
Gemfile
@@ -105,6 +105,8 @@ group :assets do | @@ -105,6 +105,8 @@ group :assets do | ||
105 | gem "coffee-rails", "~> 3.2.2" | 105 | gem "coffee-rails", "~> 3.2.2" |
106 | gem "uglifier", "~> 1.3.0" | 106 | gem "uglifier", "~> 1.3.0" |
107 | gem "therubyracer" | 107 | gem "therubyracer" |
108 | + gem 'turbolinks' | ||
109 | + gem 'jquery-turbolinks' | ||
108 | 110 | ||
109 | gem 'chosen-rails', "0.9.8" | 111 | gem 'chosen-rails', "0.9.8" |
110 | gem 'select2-rails' | 112 | gem 'select2-rails' |
Gemfile.lock
@@ -232,6 +232,9 @@ GEM | @@ -232,6 +232,9 @@ GEM | ||
232 | jquery-rails (2.1.3) | 232 | jquery-rails (2.1.3) |
233 | railties (>= 3.1.0, < 5.0) | 233 | railties (>= 3.1.0, < 5.0) |
234 | thor (~> 0.14) | 234 | thor (~> 0.14) |
235 | + jquery-turbolinks (1.0.0) | ||
236 | + railties (>= 3.1.0) | ||
237 | + turbolinks | ||
235 | jquery-ui-rails (2.0.2) | 238 | jquery-ui-rails (2.0.2) |
236 | jquery-rails | 239 | jquery-rails |
237 | railties (>= 3.1.0) | 240 | railties (>= 3.1.0) |
@@ -461,6 +464,8 @@ GEM | @@ -461,6 +464,8 @@ GEM | ||
461 | treetop (1.4.12) | 464 | treetop (1.4.12) |
462 | polyglot | 465 | polyglot |
463 | polyglot (>= 0.3.1) | 466 | polyglot (>= 0.3.1) |
467 | + turbolinks (1.1.1) | ||
468 | + coffee-rails | ||
464 | tzinfo (0.3.37) | 469 | tzinfo (0.3.37) |
465 | uglifier (1.3.0) | 470 | uglifier (1.3.0) |
466 | execjs (>= 0.3.0) | 471 | execjs (>= 0.3.0) |
@@ -521,6 +526,7 @@ DEPENDENCIES | @@ -521,6 +526,7 @@ DEPENDENCIES | ||
521 | httparty | 526 | httparty |
522 | jquery-atwho-rails (= 0.1.7) | 527 | jquery-atwho-rails (= 0.1.7) |
523 | jquery-rails (= 2.1.3) | 528 | jquery-rails (= 2.1.3) |
529 | + jquery-turbolinks | ||
524 | jquery-ui-rails (= 2.0.2) | 530 | jquery-ui-rails (= 2.0.2) |
525 | kaminari (~> 0.14.1) | 531 | kaminari (~> 0.14.1) |
526 | launchy | 532 | launchy |
@@ -564,5 +570,6 @@ DEPENDENCIES | @@ -564,5 +570,6 @@ DEPENDENCIES | ||
564 | test_after_commit | 570 | test_after_commit |
565 | therubyracer | 571 | therubyracer |
566 | thin | 572 | thin |
573 | + turbolinks | ||
567 | uglifier (~> 1.3.0) | 574 | uglifier (~> 1.3.0) |
568 | webmock | 575 | webmock |
app/assets/javascripts/application.js
@@ -14,6 +14,8 @@ | @@ -14,6 +14,8 @@ | ||
14 | //= require jquery.waitforimages | 14 | //= require jquery.waitforimages |
15 | //= require jquery.atwho | 15 | //= require jquery.atwho |
16 | //= require jquery.scrollto | 16 | //= require jquery.scrollto |
17 | +//= require turbolinks | ||
18 | +//= require jquery.turbolinks | ||
17 | //= require bootstrap | 19 | //= require bootstrap |
18 | //= require modernizr | 20 | //= require modernizr |
19 | //= require chosen-jquery | 21 | //= require chosen-jquery |
app/assets/javascripts/main.js.coffee
@@ -41,6 +41,14 @@ window.linkify = (str) -> | @@ -41,6 +41,14 @@ window.linkify = (str) -> | ||
41 | exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig | 41 | exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig |
42 | return str.replace(exp,"<a href='$1'>$1</a>") | 42 | return str.replace(exp,"<a href='$1'>$1</a>") |
43 | 43 | ||
44 | +window.startSpinner = -> | ||
45 | + $('.turbolink-spinner').fadeIn() | ||
46 | + | ||
47 | +window.stopSpinner = -> | ||
48 | + $('.turbolink-spinner').fadeOut() | ||
49 | + | ||
50 | +document.addEventListener("page:fetch", startSpinner) | ||
51 | +document.addEventListener("page:receive", stopSpinner) | ||
44 | 52 | ||
45 | $ -> | 53 | $ -> |
46 | # Click a .one_click_select field, select the contents | 54 | # Click a .one_click_select field, select the contents |
app/views/layouts/_head_panel.html.haml
@@ -9,6 +9,10 @@ | @@ -9,6 +9,10 @@ | ||
9 | %h1.project_name= title | 9 | %h1.project_name= title |
10 | %ul.nav | 10 | %ul.nav |
11 | %li | 11 | %li |
12 | + %a | ||
13 | + %div.hide.turbolink-spinner | ||
14 | + %i.icon-refresh.icon-spin | ||
15 | + %li | ||
12 | = render "layouts/search" | 16 | = render "layouts/search" |
13 | %li | 17 | %li |
14 | = link_to public_root_path, title: "Public area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do | 18 | = link_to public_root_path, title: "Public area", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do |