jquery-tablesorter 1.10.7 → 1.10.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/Rakefile +20 -30
- data/lib/jquery-tablesorter.rb +1 -1
- data/lib/jquery-tablesorter/version.rb +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/addons/pager/jquery.tablesorter.pager.js +20 -4
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +15 -10
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +27 -13
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-columnSelector.js +7 -7
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-pager.js +20 -5
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.black-ice.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.blue.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.bootstrap.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.bootstrap_2.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.dark.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.default.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.dropbox.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.green.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.grey.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.ice.css +4 -0
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.jui.css +4 -0
- metadata +2 -10
- data/vendor/assets/images/jquery-tablesorter/dropbox-asc1.png +0 -0
- data/vendor/assets/images/jquery-tablesorter/dropbox-asc2.png +0 -0
- data/vendor/assets/images/jquery-tablesorter/dropbox-desc1.png +0 -0
- data/vendor/assets/images/jquery-tablesorter/dropbox-desc2.png +0 -0
- data/vendor/assets/images/jquery-tablesorter/green-asc.png +0 -0
- data/vendor/assets/images/jquery-tablesorter/green-desc.png +0 -0
- data/vendor/assets/images/jquery-tablesorter/green-header.png +0 -0
- data/vendor/assets/images/jquery-tablesorter/green-unsorted.png +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ffc506ef591e1d7e8f5274e6058dfb43a6b9f7b9
         | 
| 4 | 
            +
              data.tar.gz: 126d7677c03b8a8f2905b0fd2accbbd0c01645e6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: cf473da52e37a4960a477aa9bccee11c1f5c6b43a5df212e7af16e5eca97dd73a11aaed29651c01407605b81435a380174f83cd31fa6a6540c0905b32723f7f6
         | 
| 7 | 
            +
              data.tar.gz: 7f4c0f0c095bf9e29973d455d713a8356fa6888464bd7f5a70ec7f73423daf3be3977b3b65d8d220bfd2c17512f1ba8744d8e2507d7e4fc84bc31cb0b2099579
         | 
    
        data/README.md
    CHANGED
    
    | @@ -4,7 +4,7 @@ | |
| 4 4 |  | 
| 5 5 | 
             
            Simple integration of jquery-tablesorter into the asset pipeline.
         | 
| 6 6 |  | 
| 7 | 
            -
            Current tablesorter version: 2.15. | 
| 7 | 
            +
            Current tablesorter version: 2.15.12 (3/31/2014), [documentation]
         | 
| 8 8 |  | 
| 9 9 | 
             
            Any issue associate with the js/css files, please report to [Mottie's fork].
         | 
| 10 10 |  | 
| @@ -38,7 +38,7 @@ In your `application.js` | |
| 38 38 | 
             
            //= require jquery-tablesorter
         | 
| 39 39 | 
             
            ```
         | 
| 40 40 |  | 
| 41 | 
            -
            This will require all jquery-tablesorter files (excluding addons | 
| 41 | 
            +
            This will require all jquery-tablesorter files (excluding addons and extras).
         | 
| 42 42 |  | 
| 43 43 | 
             
            Or you can include single file with:
         | 
| 44 44 |  | 
    
        data/Rakefile
    CHANGED
    
    | @@ -11,60 +11,50 @@ namespace :jquery_tablesorter do | |
| 11 11 | 
             
                # javascripts
         | 
| 12 12 | 
             
                #
         | 
| 13 13 | 
             
                javascript_dir = File.join('vendor', 'assets', 'javascripts', 'jquery-tablesorter')
         | 
| 14 | 
            -
                 | 
| 15 | 
            -
                Dir.glob(File.join('tablesorter', 'js', '*.js')).reject{|file| file =~ /.min.js\Z/}.each do |file|
         | 
| 16 | 
            -
                  FileUtils.cp file, javascript_dir, :verbose => true
         | 
| 17 | 
            -
                end
         | 
| 14 | 
            +
                copy_files(Dir.glob(File.join('tablesorter', 'js', '*.js')).reject{|file| file =~ /.min.js\Z/}, javascript_dir)
         | 
| 18 15 |  | 
| 19 16 | 
             
                # stylesheets
         | 
| 20 17 | 
             
                #
         | 
| 21 18 | 
             
                stylesheet_dir = File.join('vendor', 'assets', 'stylesheets', 'jquery-tablesorter')
         | 
| 22 | 
            -
                 | 
| 23 | 
            -
                Dir.glob(File.join('tablesorter', 'css', '*.css')).each do |file|
         | 
| 24 | 
            -
                  FileUtils.cp file, stylesheet_dir, :verbose => true
         | 
| 25 | 
            -
                end
         | 
| 19 | 
            +
                copy_files(Dir.glob(File.join('tablesorter', 'css', '*.css')), stylesheet_dir)
         | 
| 26 20 |  | 
| 27 21 | 
             
                # images
         | 
| 28 22 | 
             
                #
         | 
| 29 23 | 
             
                images_dir = File.join('vendor', 'assets', 'images', 'jquery-tablesorter')
         | 
| 30 | 
            -
                 | 
| 31 | 
            -
                Dir.glob(File.join('tablesorter', 'css', 'images', '*')).each do |file|
         | 
| 32 | 
            -
                  FileUtils.cp file, images_dir, :verbose => true
         | 
| 33 | 
            -
                end
         | 
| 24 | 
            +
                copy_files(Dir.glob(File.join('tablesorter', 'css', 'images', '*')), images_dir)
         | 
| 34 25 |  | 
| 35 26 | 
             
                # addons
         | 
| 36 27 | 
             
                #
         | 
| 37 28 | 
             
                ## pager
         | 
| 38 | 
            -
                pager_stylesheet_dir = | 
| 39 | 
            -
                 | 
| 40 | 
            -
                FileUtils.cp File.join('tablesorter', 'addons', 'pager', 'jquery.tablesorter.pager.css'),
         | 
| 41 | 
            -
                  pager_stylesheet_dir,
         | 
| 42 | 
            -
                  :verbose => true
         | 
| 29 | 
            +
                pager_stylesheet_dir = File.join(stylesheet_dir, 'addons', 'pager')
         | 
| 30 | 
            +
                copy_files([File.join('tablesorter', 'addons', 'pager', 'jquery.tablesorter.pager.css')], pager_stylesheet_dir)
         | 
| 43 31 |  | 
| 44 32 | 
             
                pager_javascript_dir = File.join(javascript_dir, 'addons', 'pager')
         | 
| 45 | 
            -
                 | 
| 46 | 
            -
                FileUtils.cp File.join('tablesorter', 'addons', 'pager', 'jquery.tablesorter.pager.js'),
         | 
| 47 | 
            -
                  pager_javascript_dir,
         | 
| 48 | 
            -
                  :verbose => true
         | 
| 33 | 
            +
                copy_files([File.join('tablesorter', 'addons', 'pager', 'jquery.tablesorter.pager.js')], pager_javascript_dir)
         | 
| 49 34 |  | 
| 50 | 
            -
                pager_images_dir = File.join(images_dir, 'addons', 'pager')
         | 
| 51 | 
            -
                 | 
| 52 | 
            -
                FileUtils.cp_r File.join('tablesorter', 'addons', 'pager', 'icons'), pager_images_dir,
         | 
| 53 | 
            -
                  :verbose => true
         | 
| 35 | 
            +
                pager_images_dir = File.join(images_dir, 'addons', 'pager', 'icons')
         | 
| 36 | 
            +
                copy_files(Dir.glob(File.join('tablesorter', 'addons', 'pager', 'icons', '*')), pager_images_dir)
         | 
| 54 37 |  | 
| 55 38 |  | 
| 56 | 
            -
                # parsers and  | 
| 39 | 
            +
                # parsers, widgets and extras
         | 
| 57 40 | 
             
                #
         | 
| 58 41 | 
             
                %w(parsers widgets extras).each do |folder|
         | 
| 59 42 | 
             
                  folder_javascript_dir = File.join(javascript_dir, folder)
         | 
| 60 | 
            -
                   | 
| 61 | 
            -
                   | 
| 62 | 
            -
                    FileUtils.cp file, folder_javascript_dir, :verbose => true
         | 
| 63 | 
            -
                  end
         | 
| 43 | 
            +
                  files = Dir.glob(File.join('tablesorter', 'js', folder, '*.js')).reject{|file| file =~ /.min.js\Z/}
         | 
| 44 | 
            +
                  copy_files(files, folder_javascript_dir)
         | 
| 64 45 | 
             
                end
         | 
| 65 46 |  | 
| 66 47 | 
             
              end
         | 
| 67 48 |  | 
| 49 | 
            +
              def copy_files(files, target_dir)
         | 
| 50 | 
            +
                FileUtils.mkdir_p(target_dir)
         | 
| 51 | 
            +
                FileUtils.rm_rf("#{target_dir}/.", :secure => true)
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                files.each do |file|
         | 
| 54 | 
            +
                  FileUtils.cp(file, target_dir, :verbose => true)
         | 
| 55 | 
            +
                end
         | 
| 56 | 
            +
              end
         | 
| 57 | 
            +
             | 
| 68 58 | 
             
              desc 'Sanitize image paths'
         | 
| 69 59 | 
             
              task :sanitize_image_paths do
         | 
| 70 60 | 
             
                Dir.glob(File.join('vendor', 'assets', 'stylesheets', 'jquery-tablesorter', '*.css')).each do |file_path|
         | 
    
        data/lib/jquery-tablesorter.rb
    CHANGED
    
    
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            /*!
         | 
| 2 2 | 
             
             * tablesorter pager plugin
         | 
| 3 | 
            -
             * updated 3/ | 
| 3 | 
            +
             * updated 3/31/2014 (v2.15.12)
         | 
| 4 4 | 
             
             */
         | 
| 5 5 | 
             
            /*jshint browser:true, jquery:true, unused:false */
         | 
| 6 6 | 
             
            ;(function($) {
         | 
| @@ -207,6 +207,7 @@ | |
| 207 207 | 
             
            		hideRows = function(table, p){
         | 
| 208 208 | 
             
            			if (!p.ajaxUrl) {
         | 
| 209 209 | 
             
            				var i,
         | 
| 210 | 
            +
            				lastIndex = 0,
         | 
| 210 211 | 
             
            				c = table.config,
         | 
| 211 212 | 
             
            				rows = c.$tbodies.eq(0).children(),
         | 
| 212 213 | 
             
            				l = rows.length,
         | 
| @@ -216,9 +217,23 @@ | |
| 216 217 | 
             
            				j = 0; // size counter
         | 
| 217 218 | 
             
            				for ( i = 0; i < l; i++ ){
         | 
| 218 219 | 
             
            					if ( !rows[i].className.match(f) ) {
         | 
| 219 | 
            -
            						 | 
| 220 | 
            -
             | 
| 221 | 
            -
             | 
| 220 | 
            +
            						if (j === s && rows[i].className.match(c.cssChildRow)) {
         | 
| 221 | 
            +
            							// hide child rows @ start of pager (if already visible)
         | 
| 222 | 
            +
            							rows[i].style.display = 'none';
         | 
| 223 | 
            +
            						} else {
         | 
| 224 | 
            +
            							rows[i].style.display = ( j >= s && j < e ) ? '' : 'none';
         | 
| 225 | 
            +
            							// don't count child rows
         | 
| 226 | 
            +
            							j += rows[i].className.match(c.cssChildRow + '|' + c.selectorRemove.slice(1)) && !p.countChildRows ? 0 : 1;
         | 
| 227 | 
            +
            							if ( j === e && rows[i].style.display !== 'none' && rows[i].className.match(ts.css.cssHasChild) ) {
         | 
| 228 | 
            +
            								lastIndex = i;
         | 
| 229 | 
            +
            							}
         | 
| 230 | 
            +
            						}
         | 
| 231 | 
            +
            					}
         | 
| 232 | 
            +
            				}
         | 
| 233 | 
            +
            				// add any attached child rows to last row of pager. Fixes part of issue #396
         | 
| 234 | 
            +
            				if ( lastIndex > 0 && rows[lastIndex].className.match(ts.css.cssHasChild) ) {
         | 
| 235 | 
            +
            					while ( ++lastIndex < l && rows[lastIndex].className.match(c.cssChildRow) ) {
         | 
| 236 | 
            +
            						rows[lastIndex].style.display = '';
         | 
| 222 237 | 
             
            					}
         | 
| 223 238 | 
             
            				}
         | 
| 224 239 | 
             
            			}
         | 
| @@ -457,6 +472,7 @@ | |
| 457 472 | 
             
            				for ( i = s; i < e; i++ ) {
         | 
| 458 473 | 
             
            					$tb.append(rows[i]);
         | 
| 459 474 | 
             
            				}
         | 
| 475 | 
            +
            				
         | 
| 460 476 | 
             
            				ts.processTbody(table, $tb, false);
         | 
| 461 477 | 
             
            			}
         | 
| 462 478 |  | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            /**!
         | 
| 2 | 
            -
            * TableSorter 2.15. | 
| 2 | 
            +
            * TableSorter 2.15.12 - Client-side table sorting with ease!
         | 
| 3 3 | 
             
            * @requires jQuery v1.2.6+
         | 
| 4 4 | 
             
            *
         | 
| 5 5 | 
             
            * Copyright (c) 2007 Christian Bach
         | 
| @@ -24,7 +24,7 @@ | |
| 24 24 |  | 
| 25 25 | 
             
            			var ts = this;
         | 
| 26 26 |  | 
| 27 | 
            -
            			ts.version = "2.15. | 
| 27 | 
            +
            			ts.version = "2.15.12";
         | 
| 28 28 |  | 
| 29 29 | 
             
            			ts.parsers = [];
         | 
| 30 30 | 
             
            			ts.widgets = [];
         | 
| @@ -114,6 +114,7 @@ | |
| 114 114 | 
             
            			// the table and MUST only contain one class name - fixes #381
         | 
| 115 115 | 
             
            			ts.css = {
         | 
| 116 116 | 
             
            				table      : 'tablesorter',
         | 
| 117 | 
            +
            				cssHasChild: 'tablesorter-hasChildRow',
         | 
| 117 118 | 
             
            				childRow   : 'tablesorter-childRow',
         | 
| 118 119 | 
             
            				header     : 'tablesorter-header',
         | 
| 119 120 | 
             
            				headerRow  : 'tablesorter-headerRow',
         | 
| @@ -291,6 +292,10 @@ | |
| 291 292 | 
             
            							// if this is a child row, add it to the last row's children and continue to the next row
         | 
| 292 293 | 
             
            							if (c.hasClass(tc.cssChildRow)) {
         | 
| 293 294 | 
             
            								tc.cache[k].row[tc.cache[k].row.length - 1] = tc.cache[k].row[tc.cache[k].row.length - 1].add(c);
         | 
| 295 | 
            +
            								// add "hasChild" class name to parent row
         | 
| 296 | 
            +
            								if (!c.prev().hasClass(tc.cssChildRow)) {
         | 
| 297 | 
            +
            									c.prev().addClass(ts.css.cssHasChild);
         | 
| 298 | 
            +
            								}
         | 
| 294 299 | 
             
            								// go to the next for loop
         | 
| 295 300 | 
             
            								continue;
         | 
| 296 301 | 
             
            							}
         | 
| @@ -394,7 +399,7 @@ | |
| 394 399 | 
             
            					for (j = 0; j < cells.length; j++) {
         | 
| 395 400 | 
             
            						c = cells[j];
         | 
| 396 401 | 
             
            						rowIndex = c.parentNode.rowIndex;
         | 
| 397 | 
            -
            						cellId = rowIndex + "-" + c. | 
| 402 | 
            +
            						cellId = rowIndex + "-" + $(c).index();
         | 
| 398 403 | 
             
            						rowSpan = c.rowSpan || 1;
         | 
| 399 404 | 
             
            						colSpan = c.colSpan || 1;
         | 
| 400 405 | 
             
            						if (typeof(matrix[rowIndex]) === "undefined") {
         | 
| @@ -424,7 +429,6 @@ | |
| 424 429 | 
             
            				}
         | 
| 425 430 | 
             
            				// may not be accurate if # header columns !== # tbody columns
         | 
| 426 431 | 
             
            				t.config.columns = cols + 1; // add one because it's a zero-based index
         | 
| 427 | 
            -
            				return lookup;
         | 
| 428 432 | 
             
            			}
         | 
| 429 433 |  | 
| 430 434 | 
             
            			function formatSortingOrder(v) {
         | 
| @@ -433,13 +437,15 @@ | |
| 433 437 | 
             
            			}
         | 
| 434 438 |  | 
| 435 439 | 
             
            			function buildHeaders(table) {
         | 
| 436 | 
            -
            				var  | 
| 437 | 
            -
            					h, i, t, lock, time, | 
| 440 | 
            +
            				var ch, $t,
         | 
| 441 | 
            +
            					h, i, t, lock, time,
         | 
| 442 | 
            +
            					c = table.config;
         | 
| 438 443 | 
             
            				c.headerList = [];
         | 
| 439 444 | 
             
            				c.headerContent = [];
         | 
| 440 445 | 
             
            				if (c.debug) {
         | 
| 441 446 | 
             
            					time = new Date();
         | 
| 442 447 | 
             
            				}
         | 
| 448 | 
            +
            				computeThIndexes(table);
         | 
| 443 449 | 
             
            				// add icon if cssIcon option exists
         | 
| 444 450 | 
             
            				i = c.cssIcon ? '<i class="' + ( c.cssIcon === ts.css.icon ? ts.css.icon : c.cssIcon + ' ' + ts.css.icon ) + '"></i>' : '';
         | 
| 445 451 | 
             
            				c.$headers = $(table).find(c.selectorHeaders).each(function(index) {
         | 
| @@ -455,8 +461,7 @@ | |
| 455 461 | 
             
            					$(this).html('<div class="' + ts.css.headerIn + '">' + t + '</div>'); // faster than wrapInner
         | 
| 456 462 |  | 
| 457 463 | 
             
            					if (c.onRenderHeader) { c.onRenderHeader.apply($t, [index]); }
         | 
| 458 | 
            -
             | 
| 459 | 
            -
            					this.column = header_index[this.parentNode.rowIndex + "-" + this.cellIndex];
         | 
| 464 | 
            +
            					this.column = parseInt( $(this).attr('data-column'), 10);
         | 
| 460 465 | 
             
            					this.order = formatSortingOrder( ts.getData($t, ch, 'sortInitialOrder') || c.sortInitialOrder ) ? [1,0,2] : [0,1,2];
         | 
| 461 466 | 
             
            					this.count = -1; // set to -1 because clicking on the header automatically adds one
         | 
| 462 467 | 
             
            					this.lockedOrder = false;
         | 
| @@ -829,9 +834,9 @@ | |
| 829 834 | 
             
            					// tbody may not exist if update is initialized while tbody is removed for processing
         | 
| 830 835 | 
             
            					if ($tb.length && tbdy >= 0) {
         | 
| 831 836 | 
             
            						row = $tb.eq(tbdy).find('tr').index( $row );
         | 
| 832 | 
            -
            						icell = cell. | 
| 837 | 
            +
            						icell = $(cell).index();
         | 
| 833 838 | 
             
            						l = c.cache[tbdy].normalized[row].length - 1;
         | 
| 834 | 
            -
            						c.cache[tbdy].row[ | 
| 839 | 
            +
            						c.cache[tbdy].row[ c.cache[tbdy].normalized[row][l] ] = $row;
         | 
| 835 840 | 
             
            						c.cache[tbdy].normalized[row][icell] = c.parsers[icell].format( getElementText(table, cell, icell), table, cell, icell );
         | 
| 836 841 | 
             
            						checkResort($table, resort, callback);
         | 
| 837 842 | 
             
            					}
         | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            /*! tableSorter 2.15+ widgets - updated 3/ | 
| 1 | 
            +
            /*! tableSorter 2.15+ widgets - updated 3/31/2014 (v2.15.12)
         | 
| 2 2 | 
             
             *
         | 
| 3 3 | 
             
             * Column Styles
         | 
| 4 4 | 
             
             * Column Filters
         | 
| @@ -868,7 +868,7 @@ ts.filter = { | |
| 868 868 | 
             
            			$rows = $tbody.children('tr').not(c.selectorRemove);
         | 
| 869 869 | 
             
            			len = $rows.length;
         | 
| 870 870 | 
             
            			if (combinedFilters === '' || wo.filter_serversideFiltering) {
         | 
| 871 | 
            -
            				$tbody.children().not('.' + c.cssChildRow).show() | 
| 871 | 
            +
            				$tbody.children().removeClass(wo.filter_filteredRow).not('.' + c.cssChildRow).show();
         | 
| 872 872 | 
             
            			} else {
         | 
| 873 873 | 
             
            				// optimize searching only through already filtered rows - see #313
         | 
| 874 874 | 
             
            				searchFiltered = true;
         | 
| @@ -990,13 +990,11 @@ ts.filter = { | |
| 990 990 | 
             
            							showRow = (result) ? showRow : false;
         | 
| 991 991 | 
             
            						}
         | 
| 992 992 | 
             
            					}
         | 
| 993 | 
            -
            					$rows | 
| 994 | 
            -
             | 
| 993 | 
            +
            					$rows.eq(rowIndex)
         | 
| 994 | 
            +
            						.toggle(showRow)
         | 
| 995 | 
            +
            						.toggleClass(wo.filter_filteredRow, !showRow);
         | 
| 995 996 | 
             
            					if (childRow.length) {
         | 
| 996 | 
            -
            						 | 
| 997 | 
            -
            							childRow[showRow ? 'removeClass' : 'addClass'](wo.filter_filteredRow); // see issue #396
         | 
| 998 | 
            -
            						}
         | 
| 999 | 
            -
            						childRow.toggle(showRow);
         | 
| 997 | 
            +
            						childRow.toggleClass(wo.filter_filteredRow, !showRow);
         | 
| 1000 998 | 
             
            					}
         | 
| 1001 999 | 
             
            					cacheIndex++;
         | 
| 1002 1000 | 
             
            				}
         | 
| @@ -1348,11 +1346,13 @@ ts.addWidget({ | |
| 1348 1346 | 
             
            	priority: 40,
         | 
| 1349 1347 | 
             
            	options: {
         | 
| 1350 1348 | 
             
            		resizable : true,
         | 
| 1351 | 
            -
            		resizable_addLastColumn : false
         | 
| 1349 | 
            +
            		resizable_addLastColumn : false,
         | 
| 1350 | 
            +
            		resizable_widths : []
         | 
| 1352 1351 | 
             
            	},
         | 
| 1353 1352 | 
             
            	format: function(table, c, wo) {
         | 
| 1354 1353 | 
             
            		if (c.$table.hasClass('hasResizable')) { return; }
         | 
| 1355 1354 | 
             
            		c.$table.addClass('hasResizable');
         | 
| 1355 | 
            +
            		ts.resizableReset(table, true); // set default widths
         | 
| 1356 1356 | 
             
            		var $rows, $columns, $column, column,
         | 
| 1357 1357 | 
             
            			storedSizes = {},
         | 
| 1358 1358 | 
             
            			$table = c.$table,
         | 
| @@ -1368,7 +1368,8 @@ ts.addWidget({ | |
| 1368 1368 | 
             
            					$target.width( storedSizes[$target.index()] );
         | 
| 1369 1369 | 
             
            					$next.width( storedSizes[$next.index()] );
         | 
| 1370 1370 | 
             
            					if (wo.resizable !== false) {
         | 
| 1371 | 
            -
            						 | 
| 1371 | 
            +
            						// save all column widths
         | 
| 1372 | 
            +
            						ts.storage(table, 'tablesorter-resizable', c.$headers.map(function(){ return $(this).width(); }).get() );
         | 
| 1372 1373 | 
             
            					}
         | 
| 1373 1374 | 
             
            				}
         | 
| 1374 1375 | 
             
            				mouseXPosition = 0;
         | 
| @@ -1463,10 +1464,23 @@ ts.addWidget({ | |
| 1463 1464 | 
             
            		ts.resizableReset(table);
         | 
| 1464 1465 | 
             
            	}
         | 
| 1465 1466 | 
             
            });
         | 
| 1466 | 
            -
            ts.resizableReset = function(table) {
         | 
| 1467 | 
            +
            ts.resizableReset = function(table, nosave) {
         | 
| 1467 1468 | 
             
            	$(table).each(function(){
         | 
| 1468 | 
            -
            		 | 
| 1469 | 
            -
             | 
| 1469 | 
            +
            		var $t,
         | 
| 1470 | 
            +
            			c = this.config,
         | 
| 1471 | 
            +
            			wo = c && c.widgetOptions;
         | 
| 1472 | 
            +
            		if (table && c) {
         | 
| 1473 | 
            +
            			c.$headers.each(function(i){
         | 
| 1474 | 
            +
            				$t = $(this);
         | 
| 1475 | 
            +
            				if (wo.resizable_widths[i]) {
         | 
| 1476 | 
            +
            					$t.css('width', wo.resizable_widths[i]);
         | 
| 1477 | 
            +
            				} else if (!$t.hasClass('resizable-false')) {
         | 
| 1478 | 
            +
            					// don't clear the width of any column that is not resizable
         | 
| 1479 | 
            +
            					$t.css('width','');
         | 
| 1480 | 
            +
            				}
         | 
| 1481 | 
            +
            			});
         | 
| 1482 | 
            +
            			if (ts.storage && !nosave) { ts.storage(this, 'tablesorter-resizable', {}); }
         | 
| 1483 | 
            +
            		}
         | 
| 1470 1484 | 
             
            	});
         | 
| 1471 1485 | 
             
            };
         | 
| 1472 1486 |  | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            /* Column Selector/Responsive table widget (beta) for TableSorter  | 
| 1 | 
            +
            /* Column Selector/Responsive table widget (beta) for TableSorter 3/31/2014 (v2.15.12)
         | 
| 2 2 | 
             
             * Requires tablesorter v2.8+ and jQuery 1.7+
         | 
| 3 3 | 
             
             * by Justin Hallett & Rob Garrison
         | 
| 4 4 | 
             
             */
         | 
| @@ -83,7 +83,7 @@ tsColSel = ts.columnSelector = { | |
| 83 83 | 
             
            			// set default state; storage takes priority
         | 
| 84 84 | 
             
            			colSel.states[colId] = saved && typeof(saved[colId]) !== 'undefined' ?
         | 
| 85 85 | 
             
            				saved[colId] : typeof(wo.columnSelector_columns[colId]) !== 'undefined' ?
         | 
| 86 | 
            -
            				wo.columnSelector_columns[colId] : state === 'true' || !(state === 'false');
         | 
| 86 | 
            +
            				wo.columnSelector_columns[colId] : (state === 'true' || !(state === 'false'));
         | 
| 87 87 | 
             
            			colSel.$column[colId] = $(this);
         | 
| 88 88 |  | 
| 89 89 | 
             
            			// set default col title
         | 
| @@ -96,7 +96,7 @@ tsColSel = ts.columnSelector = { | |
| 96 96 | 
             
            					.find('input').add( colSel.$wrapper[colId].filter('input') )
         | 
| 97 97 | 
             
            					.attr('data-column', colId)
         | 
| 98 98 | 
             
            					.prop('checked', colSel.states[colId])
         | 
| 99 | 
            -
            					. | 
| 99 | 
            +
            					.on('change', function(){
         | 
| 100 100 | 
             
            						colSel.states[colId] = this.checked;
         | 
| 101 101 | 
             
            						tsColSel.updateCols(c, wo);
         | 
| 102 102 | 
             
            					}).change();
         | 
| @@ -114,7 +114,7 @@ tsColSel = ts.columnSelector = { | |
| 114 114 | 
             
            			colSel.lastIndex = -1;
         | 
| 115 115 | 
             
            			wo.columnSelector_breakpoints.sort();
         | 
| 116 116 | 
             
            			tsColSel.updateBreakpoints(c, wo);
         | 
| 117 | 
            -
            			c.$table. | 
| 117 | 
            +
            			c.$table.off('updateAll' + namespace).on('updateAll' + namespace, function(){
         | 
| 118 118 | 
             
            				tsColSel.updateBreakpoints(c, wo);
         | 
| 119 119 | 
             
            				tsColSel.updateCols(c, wo);
         | 
| 120 120 | 
             
            			});
         | 
| @@ -129,7 +129,7 @@ tsColSel = ts.columnSelector = { | |
| 129 129 | 
             
            					.find('input').add( colSel.$auto.filter('input') )
         | 
| 130 130 | 
             
            					.attr('data-column', 'auto')
         | 
| 131 131 | 
             
            					.prop('checked', colSel.auto)
         | 
| 132 | 
            -
            					. | 
| 132 | 
            +
            					.on('change', function(){
         | 
| 133 133 | 
             
            						colSel.auto = this.checked;
         | 
| 134 134 | 
             
            						$.each( colSel.$checkbox, function(i, $cb){
         | 
| 135 135 | 
             
            							if ($cb) {
         | 
| @@ -156,7 +156,7 @@ tsColSel = ts.columnSelector = { | |
| 156 156 | 
             
            					}).change();
         | 
| 157 157 | 
             
            			}
         | 
| 158 158 | 
             
            			// Add a bind on update to re-run col setup
         | 
| 159 | 
            -
            			c.$table. | 
| 159 | 
            +
            			c.$table.off('update' + namespace).on('update' + namespace, function() {
         | 
| 160 160 | 
             
            				tsColSel.updateCols(c, wo);
         | 
| 161 161 | 
             
            			});
         | 
| 162 162 | 
             
            		}
         | 
| @@ -298,7 +298,7 @@ ts.addWidget({ | |
| 298 298 | 
             
            		csel.$popup.empty();
         | 
| 299 299 | 
             
            		csel.$style.remove();
         | 
| 300 300 | 
             
            		csel.$breakpoints.remove();
         | 
| 301 | 
            -
            		c.$table. | 
| 301 | 
            +
            		c.$table.off('updateAll' + namespace + ' update' + namespace);
         | 
| 302 302 | 
             
            	}
         | 
| 303 303 |  | 
| 304 304 | 
             
            });
         | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            /* Pager widget (beta) for TableSorter 3/ | 
| 1 | 
            +
            /* Pager widget (beta) for TableSorter 3/31/2014 (v2.15.12) */
         | 
| 2 2 | 
             
            /*jshint browser:true, jquery:true, unused:false */
         | 
| 3 3 | 
             
            ;(function($){
         | 
| 4 4 | 
             
            "use strict";
         | 
| @@ -181,7 +181,7 @@ tsp = ts.pager = { | |
| 181 181 | 
             
            		} else {
         | 
| 182 182 | 
             
            			p.ajax = false;
         | 
| 183 183 | 
             
            			// Regular pager; all rows stored in memory
         | 
| 184 | 
            -
            			c.$table.trigger("appendCache", true);
         | 
| 184 | 
            +
            			c.$table.trigger("appendCache", [{}, true]);
         | 
| 185 185 | 
             
            			tsp.hideRowsSetup(table, c);
         | 
| 186 186 | 
             
            		}
         | 
| 187 187 |  | 
| @@ -400,6 +400,7 @@ tsp = ts.pager = { | |
| 400 400 | 
             
            	hideRows: function(table, c){
         | 
| 401 401 | 
             
            		if (!c.widgetOptions.pager_ajaxUrl) {
         | 
| 402 402 | 
             
            			var i,
         | 
| 403 | 
            +
            				lastIndex = 0,
         | 
| 403 404 | 
             
            				p = c.pager,
         | 
| 404 405 | 
             
            				wo = c.widgetOptions,
         | 
| 405 406 | 
             
            				rows = c.$tbodies.eq(0).children(),
         | 
| @@ -410,9 +411,23 @@ tsp = ts.pager = { | |
| 410 411 | 
             
            				j = 0; // size counter
         | 
| 411 412 | 
             
            			for ( i = 0; i < l; i++ ){
         | 
| 412 413 | 
             
            				if ( !rows[i].className.match(f) ) {
         | 
| 413 | 
            -
            					 | 
| 414 | 
            -
             | 
| 415 | 
            -
             | 
| 414 | 
            +
            					if (j === s && rows[i].className.match(c.cssChildRow)) {
         | 
| 415 | 
            +
            						// hide child rows @ start of pager (if already visible)
         | 
| 416 | 
            +
            						rows[i].style.display = 'none';
         | 
| 417 | 
            +
            					} else {
         | 
| 418 | 
            +
            						rows[i].style.display = ( j >= s && j < e ) ? '' : 'none';
         | 
| 419 | 
            +
            						// don't count child rows
         | 
| 420 | 
            +
            						j += rows[i].className.match(c.cssChildRow + '|' + c.selectorRemove.slice(1)) && !wo.pager_countChildRows ? 0 : 1;
         | 
| 421 | 
            +
            						if ( j === e && rows[i].style.display !== 'none' && rows[i].className.match(ts.css.cssHasChild) ) {
         | 
| 422 | 
            +
            							lastIndex = i;
         | 
| 423 | 
            +
            						}
         | 
| 424 | 
            +
            					}
         | 
| 425 | 
            +
            				}
         | 
| 426 | 
            +
            			}
         | 
| 427 | 
            +
            			// add any attached child rows to last row of pager. Fixes part of issue #396
         | 
| 428 | 
            +
            			if ( lastIndex > 0 && rows[lastIndex].className.match(ts.css.cssHasChild) ) {
         | 
| 429 | 
            +
            				while ( ++lastIndex < l && rows[lastIndex].className.match(c.cssChildRow) ) {
         | 
| 430 | 
            +
            					rows[lastIndex].style.display = '';
         | 
| 416 431 | 
             
            				}
         | 
| 417 432 | 
             
            			}
         | 
| 418 433 | 
             
            		}
         | 
| @@ -173,6 +173,10 @@ caption { | |
| 173 173 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 174 174 | 
             
            	transition: height 0.1s ease;
         | 
| 175 175 | 
             
            }
         | 
| 176 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 177 | 
            +
            .tablesorter .filtered {
         | 
| 178 | 
            +
            	display: none;
         | 
| 179 | 
            +
            }
         | 
| 176 180 |  | 
| 177 181 | 
             
            /* ajax error row */
         | 
| 178 182 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
| @@ -208,6 +208,10 @@ caption { | |
| 208 208 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 209 209 | 
             
            	transition: height 0.1s ease;
         | 
| 210 210 | 
             
            }
         | 
| 211 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 212 | 
            +
            .tablesorter .filtered {
         | 
| 213 | 
            +
            	display: none;
         | 
| 214 | 
            +
            }
         | 
| 211 215 |  | 
| 212 216 | 
             
            /* ajax error row */
         | 
| 213 217 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
| @@ -123,6 +123,10 @@ caption { | |
| 123 123 | 
             
            	opacity: 0;
         | 
| 124 124 | 
             
            	filter: alpha(opacity=0);
         | 
| 125 125 | 
             
            }
         | 
| 126 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 127 | 
            +
            .tablesorter .filtered {
         | 
| 128 | 
            +
            	display: none;
         | 
| 129 | 
            +
            }
         | 
| 126 130 |  | 
| 127 131 | 
             
            /* pager plugin */
         | 
| 128 132 | 
             
            .tablesorter-bootstrap .tablesorter-pager select {
         | 
| @@ -174,6 +174,10 @@ caption { | |
| 174 174 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 175 175 | 
             
            	transition: height 0.1s ease;
         | 
| 176 176 | 
             
            }
         | 
| 177 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 178 | 
            +
            .tablesorter .filtered {
         | 
| 179 | 
            +
            	display: none;
         | 
| 180 | 
            +
            }
         | 
| 177 181 |  | 
| 178 182 | 
             
            /* ajax error row */
         | 
| 179 183 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
| @@ -176,6 +176,10 @@ caption { | |
| 176 176 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 177 177 | 
             
            	transition: height 0.1s ease;
         | 
| 178 178 | 
             
            }
         | 
| 179 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 180 | 
            +
            .tablesorter .filtered {
         | 
| 181 | 
            +
            	display: none;
         | 
| 182 | 
            +
            }
         | 
| 179 183 |  | 
| 180 184 | 
             
            /* ajax error row */
         | 
| 181 185 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
| @@ -199,6 +199,10 @@ caption { | |
| 199 199 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 200 200 | 
             
            	transition: height 0.1s ease;
         | 
| 201 201 | 
             
            }
         | 
| 202 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 203 | 
            +
            .tablesorter .filtered {
         | 
| 204 | 
            +
            	display: none;
         | 
| 205 | 
            +
            }
         | 
| 202 206 |  | 
| 203 207 | 
             
            /* ajax error row */
         | 
| 204 208 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
| @@ -190,6 +190,10 @@ caption { | |
| 190 190 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 191 191 | 
             
            	transition: height 0.1s ease;
         | 
| 192 192 | 
             
            }
         | 
| 193 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 194 | 
            +
            .tablesorter .filtered {
         | 
| 195 | 
            +
            	display: none;
         | 
| 196 | 
            +
            }
         | 
| 193 197 |  | 
| 194 198 | 
             
            /* ajax error row */
         | 
| 195 199 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
| @@ -232,6 +232,10 @@ caption { | |
| 232 232 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 233 233 | 
             
            	transition: height 0.1s ease;
         | 
| 234 234 | 
             
            }
         | 
| 235 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 236 | 
            +
            .tablesorter .filtered {
         | 
| 237 | 
            +
            	display: none;
         | 
| 238 | 
            +
            }
         | 
| 235 239 |  | 
| 236 240 | 
             
            /* ajax error row */
         | 
| 237 241 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
| @@ -188,6 +188,10 @@ caption { | |
| 188 188 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 189 189 | 
             
            	transition: height 0.1s ease;
         | 
| 190 190 | 
             
            }
         | 
| 191 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 192 | 
            +
            .tablesorter .filtered {
         | 
| 193 | 
            +
            	display: none;
         | 
| 194 | 
            +
            }
         | 
| 191 195 |  | 
| 192 196 | 
             
            /* ajax error row */
         | 
| 193 197 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
| @@ -141,6 +141,10 @@ | |
| 141 141 | 
             
            	-o-transition: height 0.1s ease;
         | 
| 142 142 | 
             
            	transition: height 0.1s ease;
         | 
| 143 143 | 
             
            }
         | 
| 144 | 
            +
            /* rows hidden by filtering (needed for child rows) */
         | 
| 145 | 
            +
            .tablesorter .filtered {
         | 
| 146 | 
            +
            	display: none;
         | 
| 147 | 
            +
            }
         | 
| 144 148 |  | 
| 145 149 | 
             
            /* ajax error row */
         | 
| 146 150 | 
             
            .tablesorter .tablesorter-errorRow td {
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: jquery-tablesorter
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.10. | 
| 4 | 
            +
              version: 1.10.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jun Lin
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2014-03- | 
| 12 | 
            +
            date: 2014-03-31 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: railties
         | 
| @@ -54,20 +54,12 @@ files: | |
| 54 54 | 
             
            - vendor/assets/images/jquery-tablesorter/black-unsorted.gif
         | 
| 55 55 | 
             
            - vendor/assets/images/jquery-tablesorter/dropbox-asc-hovered.png
         | 
| 56 56 | 
             
            - vendor/assets/images/jquery-tablesorter/dropbox-asc.png
         | 
| 57 | 
            -
            - vendor/assets/images/jquery-tablesorter/dropbox-asc1.png
         | 
| 58 | 
            -
            - vendor/assets/images/jquery-tablesorter/dropbox-asc2.png
         | 
| 59 57 | 
             
            - vendor/assets/images/jquery-tablesorter/dropbox-desc-hovered.png
         | 
| 60 58 | 
             
            - vendor/assets/images/jquery-tablesorter/dropbox-desc.png
         | 
| 61 | 
            -
            - vendor/assets/images/jquery-tablesorter/dropbox-desc1.png
         | 
| 62 | 
            -
            - vendor/assets/images/jquery-tablesorter/dropbox-desc2.png
         | 
| 63 59 | 
             
            - vendor/assets/images/jquery-tablesorter/green-asc.gif
         | 
| 64 | 
            -
            - vendor/assets/images/jquery-tablesorter/green-asc.png
         | 
| 65 60 | 
             
            - vendor/assets/images/jquery-tablesorter/green-desc.gif
         | 
| 66 | 
            -
            - vendor/assets/images/jquery-tablesorter/green-desc.png
         | 
| 67 61 | 
             
            - vendor/assets/images/jquery-tablesorter/green-header.gif
         | 
| 68 | 
            -
            - vendor/assets/images/jquery-tablesorter/green-header.png
         | 
| 69 62 | 
             
            - vendor/assets/images/jquery-tablesorter/green-unsorted.gif
         | 
| 70 | 
            -
            - vendor/assets/images/jquery-tablesorter/green-unsorted.png
         | 
| 71 63 | 
             
            - vendor/assets/images/jquery-tablesorter/ice-asc.gif
         | 
| 72 64 | 
             
            - vendor/assets/images/jquery-tablesorter/ice-desc.gif
         | 
| 73 65 | 
             
            - vendor/assets/images/jquery-tablesorter/ice-unsorted.gif
         | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file | 
| Binary file |