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 |