+ $(document).
+ on('ajax:complete ready', function() {
+ // See http://getbootstrap.com/javascript/#buttons
+ $('.btn').button();
+ }).
+ on('ready ajax:complete', function() {
+ $('[data-toggle~=tooltip]').tooltip({container:'body'});
+ }).
+ on('ready ajax:complete', function() {
+ // This makes the dialog close on Esc key, obviously.
+ $('.modal').attr('tabindex', '-1')
+ });
+
+ HeaderRowFixer = function(selector) {
+ this.duplicateTheadTr = function() {
+ $(selector).each(function() {
+ var the_table = this;
+ if ($('>tbody>tr:first>th', the_table).length > 0)
+ return;
+ $('>tbody', the_table).
+ prepend($('>thead>tr', the_table).
+ clone().
+ css('opacity', 0));
+ });
+ }
+ this.fixThead = function() {
+ $(selector).each(function() {
+ var widths = [];
+ $('> tbody > tr:eq(1) > td', this).each( function(i,v){
+ widths.push($(v).width());
+ });
+ for(i=0;i<widths.length;i++) {
+ $('thead th:eq('+i+')', this).width(widths[i]);
+ }
+ });
+ }
+ }
+
+ var fixer = new HeaderRowFixer('.table-fixed-header-row');
+ fixer.duplicateTheadTr();
+ fixer.fixThead();
+ $(window).resize(function(){
+ fixer.fixThead();
+ });
+ $(document).on('ajax:complete', function(e, status) {
+ fixer.duplicateTheadTr();
+ fixer.fixThead();
+ });
+
+ $(document).ready(function() {
+ /* When wiselinks is initialized, selection.js is not working. Since we want to stop
+ using selection.js in the near future, let's not initialize wiselinks for now. */
+
+ // window.wiselinks = new Wiselinks();
+
+ $(document).off('page:loading').on('page:loading', function(event, $target, render, url){
+ $("#page-wrapper").fadeOut(200);
+ });
+
+ $(document).off('page:redirected').on('page:redirected', function(event, $target, render, url){
+ });
+
+ $(document).off('page:always').on('page:always', function(event, xhr, settings){
+ $("#page-wrapper").fadeIn(200);
+ });
+
+ $(document).off('page:done').on('page:done', function(event, $target, status, url, data){
+ });
+
+ $(document).off('page:fail').on('page:fail', function(event, $target, status, url, error, code){
+ });
+ });
+
+});