Remove pjax setting that causes entire page to reload
[gitorious:ktdreyers-ui3.git] / js / src / components / pjax.js
1 this.gts = this.gts || {};
2
3 this.gts.pjax = (function () {
4   var initialized, activeLink;
5
6   return function (controller, container) {
7     var $controller = jQuery(controller);
8
9     if (!initialized) {
10       $(container).on("pjax:end", function () {
11         $(activeLink).addClass("active");
12       });
13       initialized = true;
14     }
15
16     $controller.pjax("a", container, { timeout: 5000 });
17
18     $controller.on("click", "a", function (e) {
19       e.preventDefault();
20
21       // Tab bars have links inside li-elements in lists. If either li element
22       // has the "active" class name, then assume a tab bar, and move the
23       // active class over to the newly clicked link
24       var lis = $(this.parentNode.parentNode.childNodes);
25
26       if (!lis.hasClass("active")) {
27         activeLink = null;
28         return;
29       }
30
31       lis.removeClass("active");
32       activeLink = this.parentNode;
33     });
34   };
35 }());