Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Turbolinks 5 : Show progress Bar

There is a progress bar when Turbolinks.visit is called.

I want to show and hide it manually (because some of my xhr request are a bit long), is it possible?

(In Turbolinks 3, there was Turbolinks.ProgressBar.start(); but it was not a public api and not working anymore)

like image 225
Nicolas Maloeuvre Avatar asked Dec 18 '22 18:12

Nicolas Maloeuvre


1 Answers

Turbolinks 5 has the ProgressBar instance deeper in the singleton controller object. The following should work:

function safeStartTurbolinksProgress() {
  if(!Turbolinks.supported) { return; }
  Turbolinks.controller.adapter.progressBar.setValue(0);
  Turbolinks.controller.adapter.progressBar.show();
}

function safeStopTurbolinksProgress() {
  if(!Turbolinks.supported) { return; }
  Turbolinks.controller.adapter.progressBar.hide();
  Turbolinks.controller.adapter.progressBar.setValue(100);
}
like image 88
dimroc Avatar answered Dec 30 '22 22:12

dimroc