bootswatch_rails 3.3.6.1 → 3.3.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ec924bc586bc2b0b5670d853f6f133cce1d08077
4
- data.tar.gz: d10bfe132e5d73fff157b42d57affb4c087b25d0
3
+ metadata.gz: 14fb638e90bd8c5be5dd3af57eb61af4c906f301
4
+ data.tar.gz: ab14050ce5a5aeb1540991960dbefa700380d7aa
5
5
  SHA512:
6
- metadata.gz: da8230316510d499c3e59d0ccb89ebab031252edd9a0144c15855f7f2c546863dbb702ad1e2bb58db4a6a2cac2590d5ed9c1dfdc2f8c02db2c64b3343635a286
7
- data.tar.gz: 4db9331126b00cf1add0c3c85801eff1e32c3f7fccb7723850126bbef03da3f130358f84ce8243c958efb3fe4de2deccf1bec0ca8b74bff12770ace33bcccd46
6
+ metadata.gz: c9edf1f12a9d517fdaf4f585fc08817ab6b61b39b6e40b9ba5e8960874d49c2c0c6c2d5cf7542e6dfa82144af5122913b04b4d3c54922a72c57d67fe02b252cf
7
+ data.tar.gz: 09b6e32eabc0335fbe12dadb2fd88af82541aa45b27b2be9a7287f0728832bec432b03fda7bcfb3b05050bc294bf111d872e30334b094af22006f9482710593d
Binary file
data/generate.sh CHANGED
@@ -11,8 +11,8 @@
11
11
  set -e
12
12
 
13
13
  # DataTables version
14
- DT_VER="1.10.10"
15
- DT_RESP="2.0.0"
14
+ DT_VER="1.10.11"
15
+ DT_RESP="2.0.2"
16
16
 
17
17
 
18
18
  if [ "$1" != "local" ] ; then
@@ -1,10 +1,10 @@
1
1
  module BootswatchRails
2
2
  BOOTSTRAP = "3.3.6"
3
3
  BOOTSWATCH = "3.3.6"
4
- FONT_AWESOME = "4.5.0"
5
- DATATABLES = "1.10.10"
6
- RESPONSIVE = "2.0.0"
7
- VERSION = "3.3.6.1"
4
+ FONT_AWESOME = "4.6.2"
5
+ DATATABLES = "1.10.11"
6
+ RESPONSIVE = "2.0.2"
7
+ VERSION = "3.3.6.2"
8
8
 
9
9
  THEMES = [:cerulean, :cosmo, :custom, :cyborg, :darkly, :flatly, :journal, :lumen, :paper, :readable, :sandstone, :simplex, :slate, :spacelab, :superhero, :united, :yeti]
10
10
  DEFAULT = 0
@@ -1,15 +1,15 @@
1
- /*! Responsive 2.0.0
2
- * 2014-2015 SpryMedia Ltd - datatables.net/license
1
+ /*! Responsive 2.0.2
2
+ * 2014-2016 SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary Responsive
7
7
  * @description Responsive tables plug-in for DataTables
8
- * @version 2.0.0
8
+ * @version 2.0.2
9
9
  * @file dataTables.responsive.js
10
10
  * @author SpryMedia Ltd (www.sprymedia.co.uk)
11
11
  * @contact www.sprymedia.co.uk/contact
12
- * @copyright Copyright 2014-2015 SpryMedia Ltd.
12
+ * @copyright Copyright 2014-2016 SpryMedia Ltd.
13
13
  *
14
14
  * This source file is free software, available under the following license:
15
15
  * MIT license - http://datatables.net/license/mit
@@ -113,9 +113,16 @@ var Responsive = function ( settings, opts ) {
113
113
  }
114
114
 
115
115
  // details is an object, but for simplicity the user can give it as a string
116
+ // or a boolean
116
117
  if ( opts && typeof opts.details === 'string' ) {
117
118
  opts.details = { type: opts.details };
118
119
  }
120
+ else if ( opts && opts.details === false ) {
121
+ opts.details = { type: false };
122
+ }
123
+ else if ( opts && opts.details === true ) {
124
+ opts.details = { type: 'inline' };
125
+ }
119
126
 
120
127
  this.c = $.extend( true, {}, Responsive.defaults, DataTable.defaults.responsive, opts );
121
128
  settings.responsive = this;
@@ -137,13 +144,21 @@ $.extend( Responsive.prototype, {
137
144
  var that = this;
138
145
  var dt = this.s.dt;
139
146
  var dtPrivateSettings = dt.settings()[0];
147
+ var oldWindowWidth = $(window).width();
140
148
 
141
149
  dt.settings()[0]._responsive = this;
142
150
 
143
151
  // Use DataTables' throttle function to avoid processor thrashing on
144
152
  // resize
145
153
  $(window).on( 'resize.dtr orientationchange.dtr', DataTable.util.throttle( function () {
146
- that._resize();
154
+ // iOS has a bug whereby resize can fire when only scrolling
155
+ // See: http://stackoverflow.com/questions/8898412
156
+ var width = $(window).width();
157
+
158
+ if ( width !== oldWindowWidth ) {
159
+ that._resize();
160
+ oldWindowWidth = width;
161
+ }
147
162
  } ) );
148
163
 
149
164
  // DataTables doesn't currently trigger an event when a row is added, so
@@ -187,6 +202,7 @@ $.extend( Responsive.prototype, {
187
202
 
188
203
  // Details handler
189
204
  var details = this.c.details;
205
+
190
206
  if ( details.type !== false ) {
191
207
  that._detailsInit();
192
208
 
@@ -209,11 +225,24 @@ $.extend( Responsive.prototype, {
209
225
  }
210
226
 
211
227
  dt.on( 'column-reorder.dtr', function (e, settings, details) {
212
- // This requires ColReorder 1.2.1 or newer
213
- if ( details.drop ) {
214
- that._classLogic();
215
- that._resizeAuto();
216
- that._resize();
228
+ that._classLogic();
229
+ that._resizeAuto();
230
+ that._resize();
231
+ } );
232
+
233
+ // Change in column sizes means we need to calc
234
+ dt.on( 'column-sizing.dtr', function () {
235
+ that._resize();
236
+ });
237
+
238
+ dt.on( 'init.dtr', function (e, settings, details) {
239
+ that._resizeAuto();
240
+ that._resize();
241
+
242
+ // If columns were hidden, then DataTables needs to adjust the
243
+ // column sizing
244
+ if ( $.inArray( false, that.s.current ) ) {
245
+ dt.columns.adjust();
217
246
  }
218
247
  } );
219
248
 
@@ -261,7 +290,6 @@ $.extend( Responsive.prototype, {
261
290
  return a.columnIdx - b.columnIdx;
262
291
  } );
263
292
 
264
-
265
293
  // Class logic - determine which columns are in this breakpoint based
266
294
  // on the classes. If no class control (i.e. `auto`) then `-` is used
267
295
  // to indicate this to the rest of the function
@@ -375,8 +403,10 @@ $.extend( Responsive.prototype, {
375
403
  var priority = dt.settings()[0].aoColumns[i].responsivePriority;
376
404
 
377
405
  if ( priority === undefined ) {
378
- priority = $(column.header).data('priority') !== undefined ?
379
- $(column.header).data('priority') * 1 :
406
+ var dataPriority = $(column.header()).data('priority');
407
+
408
+ priority = dataPriority !== undefined ?
409
+ dataPriority * 1 :
380
410
  10000;
381
411
  }
382
412
 
@@ -509,15 +539,18 @@ $.extend( Responsive.prototype, {
509
539
  {
510
540
  var that = this;
511
541
  var dt = this.s.dt;
542
+ var details = this.c.details;
512
543
 
513
- var res = this.c.details.display( row, update, function () {
514
- return that.c.details.renderer(
515
- dt, row[0], that._detailsObj(row[0])
516
- );
517
- } );
544
+ if ( details && details.type ) {
545
+ var res = details.display( row, update, function () {
546
+ return details.renderer(
547
+ dt, row[0], that._detailsObj(row[0])
548
+ );
549
+ } );
518
550
 
519
- if ( res === true || res === false ) {
520
- $(dt.table().node()).triggerHandler( 'responsive-display.dt', [dt, row, res, update] );
551
+ if ( res === true || res === false ) {
552
+ $(dt.table().node()).triggerHandler( 'responsive-display.dt', [dt, row, res, update] );
553
+ }
521
554
  }
522
555
  },
523
556
 
@@ -535,7 +568,7 @@ $.extend( Responsive.prototype, {
535
568
 
536
569
  // The inline type always uses the first child as the target
537
570
  if ( details.type === 'inline' ) {
538
- details.target = 'td:first-child';
571
+ details.target = 'td:first-child, th:first-child';
539
572
  }
540
573
 
541
574
  // Keyboard accessibility
@@ -544,7 +577,7 @@ $.extend( Responsive.prototype, {
544
577
  } );
545
578
  that._tabIndexes(); // Initial draw has already happened
546
579
 
547
- $( dt.table().body() ).on( 'keyup.dtr', 'td', function (e) {
580
+ $( dt.table().body() ).on( 'keyup.dtr', 'td, th', function (e) {
548
581
  if ( e.keyCode === 13 && $(this).data('dtr-keyboard') ) {
549
582
  $(this).click();
550
583
  }
@@ -552,15 +585,11 @@ $.extend( Responsive.prototype, {
552
585
 
553
586
  // type.target can be a string jQuery selector or a column index
554
587
  var target = details.target;
555
- var selector = typeof target === 'string' ? target : 'td';
588
+ var selector = typeof target === 'string' ? target : 'td, th';
556
589
 
557
590
  // Click handler to show / hide the details rows when they are available
558
591
  $( dt.table().body() )
559
- .on( 'mousedown.dtr', selector, function (e) {
560
- // For mouse users, prevent the focus ring from showing
561
- e.preventDefault();
562
- } )
563
- .on( 'click.dtr', selector, function () {
592
+ .on( 'click.dtr mousedown.dtr mouseup.dtr', selector, function (e) {
564
593
  // If the table is not collapsed (i.e. there is no hidden columns)
565
594
  // then take no action
566
595
  if ( ! $(dt.table().node()).hasClass('collapsed' ) ) {
@@ -587,10 +616,21 @@ $.extend( Responsive.prototype, {
587
616
  // $().closest() includes itself in its check
588
617
  var row = dt.row( $(this).closest('tr') );
589
618
 
590
- // The renderer is given as a function so the caller can execute it
591
- // only when they need (i.e. if hiding there is no point is running
592
- // the renderer)
593
- that._detailsDisplay( row, false );
619
+ // Check event type to do an action
620
+ if ( e.type === 'click' ) {
621
+ // The renderer is given as a function so the caller can execute it
622
+ // only when they need (i.e. if hiding there is no point is running
623
+ // the renderer)
624
+ that._detailsDisplay( row, false );
625
+ }
626
+ else if ( e.type === 'mousedown' ) {
627
+ // For mouse users, prevent the focus ring from showing
628
+ $(this).css('outline', 'none');
629
+ }
630
+ else if ( e.type === 'mouseup' ) {
631
+ // And then re-allow at the end of the click
632
+ $(this).blur().css('outline', '');
633
+ }
594
634
  } );
595
635
  },
596
636
 
@@ -611,9 +651,11 @@ $.extend( Responsive.prototype, {
611
651
  }
612
652
 
613
653
  return {
614
- title: dt.settings()[0].aoColumns[ i ].sTitle,
615
- data: dt.cell( rowIdx, i ).render( that.c.orthogonal ),
616
- hidden: dt.column( i ).visible() && !that.s.current[ i ]
654
+ title: dt.settings()[0].aoColumns[ i ].sTitle,
655
+ data: dt.cell( rowIdx, i ).render( that.c.orthogonal ),
656
+ hidden: dt.column( i ).visible() && !that.s.current[ i ],
657
+ columnIndex: i,
658
+ rowIndex: rowIdx
617
659
  };
618
660
  } );
619
661
  },
@@ -692,7 +734,7 @@ $.extend( Responsive.prototype, {
692
734
  // any columns that are not visible but can be shown
693
735
  var collapsedClass = false;
694
736
  for ( i=0, ien=columns.length ; i<ien ; i++ ) {
695
- if ( columnsVis[i] === false && ! columns[i].never ) {
737
+ if ( columnsVis[i] === false && ! columns[i].never && ! columns[i].control ) {
696
738
  collapsedClass = true;
697
739
  break;
698
740
  }
@@ -711,6 +753,9 @@ $.extend( Responsive.prototype, {
711
753
 
712
754
  if ( changed ) {
713
755
  this._redrawChildren();
756
+
757
+ // Inform listeners of the change
758
+ $(dt.table().node()).trigger( 'responsive-resize.dt', [dt, this.s.current] );
714
759
  }
715
760
  },
716
761
 
@@ -744,7 +789,7 @@ $.extend( Responsive.prototype, {
744
789
  var columnWidths = dt.columns;
745
790
  var clonedTable = dt.table().node().cloneNode( false );
746
791
  var clonedHeader = $( dt.table().header().cloneNode( false ) ).appendTo( clonedTable );
747
- var clonedBody = $( dt.table().body().cloneNode( false ) ).appendTo( clonedTable );
792
+ var clonedBody = $( dt.table().body() ).clone( false, false ).empty().appendTo( clonedTable ); // use jQuery because of IE8
748
793
 
749
794
  // Header
750
795
  var headerCells = dt.columns()
@@ -961,12 +1006,6 @@ Responsive.display = {
961
1006
  )
962
1007
  .appendTo( 'body' );
963
1008
 
964
- if ( options && options.header ) {
965
- modal.find( 'div.dtr-modal-content' ).prepend(
966
- '<h2>'+options.header( row )+'</h2>'
967
- );
968
- }
969
-
970
1009
  $(document).on( 'keyup.dtr', function (e) {
971
1010
  if ( e.keyCode === 27 ) {
972
1011
  e.stopPropagation();
@@ -980,6 +1019,12 @@ Responsive.display = {
980
1019
  .empty()
981
1020
  .append( render() );
982
1021
  }
1022
+
1023
+ if ( options && options.header ) {
1024
+ $('div.dtr-modal-content').prepend(
1025
+ '<h2>'+options.header( row )+'</h2>'
1026
+ );
1027
+ }
983
1028
  };
984
1029
  }
985
1030
  };
@@ -1036,7 +1081,7 @@ Responsive.defaults = {
1036
1081
  renderer: function ( api, rowIdx, columns ) {
1037
1082
  var data = $.map( columns, function ( col, i ) {
1038
1083
  return col.hidden ?
1039
- '<li data-dtr-index="'+i+'">'+
1084
+ '<li data-dtr-index="'+col.columnIndex+'" data-dt-row="'+col.rowIndex+'" data-dt-column="'+col.columnIndex+'">'+
1040
1085
  '<span class="dtr-title">'+
1041
1086
  col.title+
1042
1087
  '</span> '+
@@ -1118,7 +1163,7 @@ Api.register( 'responsive.hasHidden()', function () {
1118
1163
  * @name Responsive.version
1119
1164
  * @static
1120
1165
  */
1121
- Responsive.version = '2.0.0';
1166
+ Responsive.version = '2.0.2';
1122
1167
 
1123
1168
 
1124
1169
  $.fn.dataTable.Responsive = Responsive;
@@ -1126,7 +1171,7 @@ $.fn.DataTable.Responsive = Responsive;
1126
1171
 
1127
1172
  // Attach a listener to the document which listens for DataTables initialisation
1128
1173
  // events so we can automatically initialise
1129
- $(document).on( 'init.dt.dtr', function (e, settings, json) {
1174
+ $(document).on( 'preInit.dt.dtr', function (e, settings, json) {
1130
1175
  if ( e.namespace !== 'dt' ) {
1131
1176
  return;
1132
1177
  }
@@ -1,11 +1,11 @@
1
- /*! DataTables 1.10.10
1
+ /*! DataTables 1.10.11
2
2
  * ©2008-2015 SpryMedia Ltd - datatables.net/license
3
3
  */
4
4
 
5
5
  /**
6
6
  * @summary DataTables
7
7
  * @description Paginate, search and order HTML tables
8
- * @version 1.10.10
8
+ * @version 1.10.11
9
9
  * @file jquery.dataTables.js
10
10
  * @author SpryMedia Ltd (www.sprymedia.co.uk)
11
11
  * @contact www.sprymedia.co.uk/contact
@@ -744,6 +744,7 @@
744
744
  oCol._bAttrSrc = $.isPlainObject( mDataSrc ) && (
745
745
  attrTest(mDataSrc.sort) || attrTest(mDataSrc.type) || attrTest(mDataSrc.filter)
746
746
  );
747
+ oCol._setter = null;
747
748
 
748
749
  oCol.fnGetData = function (rowData, type, meta) {
749
750
  var innerData = mData( rowData, type, undefined, meta );
@@ -868,7 +869,7 @@
868
869
  */
869
870
  function _fnVisbleColumns( oSettings )
870
871
  {
871
- return _fnGetColumns( oSettings, 'bVisible' ).length;
872
+ return $( _pluck( oSettings.aoColumns, 'nTh' ) ).filter(':visible').length;
872
873
  }
873
874
 
874
875
 
@@ -1174,8 +1175,9 @@
1174
1175
  return defaultContent;
1175
1176
  }
1176
1177
 
1177
- /* When the data source is null, we can use default column data */
1178
- if ( (cellData === rowData || cellData === null) && defaultContent !== null ) {
1178
+ // When the data source is null and a specific data type is requested (i.e.
1179
+ // not the original data), we can use default column data
1180
+ if ( (cellData === rowData || cellData === null) && defaultContent !== null && type !== undefined ) {
1179
1181
  cellData = defaultContent;
1180
1182
  }
1181
1183
  else if ( typeof cellData === 'function' ) {
@@ -1771,8 +1773,9 @@
1771
1773
  cells.push( nTd );
1772
1774
 
1773
1775
  // Need to create the HTML if new, or if a rendering function is defined
1774
- if ( !nTrIn || oCol.mRender || oCol.mData !== i )
1775
- {
1776
+ if ( (!nTrIn || oCol.mRender || oCol.mData !== i) &&
1777
+ (!$.isPlainObject(oCol.mData) || oCol.mData._ !== i+'.display')
1778
+ ) {
1776
1779
  nTd.innerHTML = _fnGetCellData( oSettings, iRow, i, 'display' );
1777
1780
  }
1778
1781
 
@@ -3876,11 +3879,12 @@
3876
3879
  footer = settings.nTFoot ? $(settings.nTFoot) : null,
3877
3880
  browser = settings.oBrowser,
3878
3881
  ie67 = browser.bScrollOversize,
3882
+ dtHeaderCells = _pluck( settings.aoColumns, 'nTh' ),
3879
3883
  headerTrgEls, footerTrgEls,
3880
3884
  headerSrcEls, footerSrcEls,
3881
3885
  headerCopy, footerCopy,
3882
3886
  headerWidths=[], footerWidths=[],
3883
- headerContent=[],
3887
+ headerContent=[], footerContent=[],
3884
3888
  idx, correction, sanityWidth,
3885
3889
  zeroOut = function(nSizer) {
3886
3890
  var style = nSizer.style;
@@ -3912,18 +3916,18 @@
3912
3916
  // Remove the old minimised thead and tfoot elements in the inner table
3913
3917
  table.children('thead, tfoot').remove();
3914
3918
 
3915
- // Clone the current header and footer elements and then place it into the inner table
3916
- headerCopy = header.clone().prependTo( table );
3917
- headerTrgEls = header.find('tr'); // original header is in its own table
3918
- headerSrcEls = headerCopy.find('tr');
3919
- headerCopy.find('th, td').removeAttr('tabindex');
3920
-
3921
3919
  if ( footer ) {
3922
3920
  footerCopy = footer.clone().prependTo( table );
3923
3921
  footerTrgEls = footer.find('tr'); // the original tfoot is in its own table and must be sized
3924
3922
  footerSrcEls = footerCopy.find('tr');
3925
3923
  }
3926
3924
 
3925
+ // Clone the current header and footer elements and then place it into the inner table
3926
+ headerCopy = header.clone().prependTo( table );
3927
+ headerTrgEls = header.find('tr'); // original header is in its own table
3928
+ headerSrcEls = headerCopy.find('tr');
3929
+ headerCopy.find('th, td').removeAttr('tabindex');
3930
+
3927
3931
 
3928
3932
  /*
3929
3933
  * 2. Take live measurements from the DOM - do not alter the DOM itself!
@@ -3989,7 +3993,11 @@
3989
3993
 
3990
3994
  // Apply all widths in final pass
3991
3995
  _fnApplyToChildren( function(nToSize, i) {
3992
- nToSize.style.width = headerWidths[i];
3996
+ // Only apply widths to the DataTables detected header cells - this
3997
+ // prevents complex headers from having contradictory sizes applied
3998
+ if ( $.inArray( nToSize, dtHeaderCells ) !== -1 ) {
3999
+ nToSize.style.width = headerWidths[i];
4000
+ }
3993
4001
  }, headerTrgEls );
3994
4002
 
3995
4003
  $(headerSrcEls).height(0);
@@ -4000,6 +4008,7 @@
4000
4008
  _fnApplyToChildren( zeroOut, footerSrcEls );
4001
4009
 
4002
4010
  _fnApplyToChildren( function(nSizer) {
4011
+ footerContent.push( nSizer.innerHTML );
4003
4012
  footerWidths.push( _fnStringToCss( $(nSizer).css('width') ) );
4004
4013
  }, footerSrcEls );
4005
4014
 
@@ -4027,7 +4036,7 @@
4027
4036
  if ( footer )
4028
4037
  {
4029
4038
  _fnApplyToChildren( function(nSizer, i) {
4030
- nSizer.innerHTML = "";
4039
+ nSizer.innerHTML = '<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+footerContent[i]+'</div>';
4031
4040
  nSizer.style.width = footerWidths[i];
4032
4041
  }, footerSrcEls );
4033
4042
  }
@@ -4098,6 +4107,9 @@
4098
4107
  divFooterInner[0].style[padding] = bScrolling ? barWidth+"px" : "0px";
4099
4108
  }
4100
4109
 
4110
+ // Correct DOM ordering for colgroup - comes before the thead
4111
+ table.children('colgroup').insertBefore( table.children('thead') );
4112
+
4101
4113
  /* Adjust the position of the header in case we loose the y-scrollbar */
4102
4114
  divBody.scroll();
4103
4115
 
@@ -4271,6 +4283,10 @@
4271
4283
  }
4272
4284
  }
4273
4285
 
4286
+ // Tidy the temporary table - remove name attributes so there aren't
4287
+ // duplicated in the dom (radio elements for example)
4288
+ $('[name]', tmpTable).removeAttr('name');
4289
+
4274
4290
  // Table has been built, attach to the document so we can work with it.
4275
4291
  // A holding element is used, positioned at the top of the container
4276
4292
  // with minimal height, so it has no effect on if the container scrolls
@@ -7789,9 +7805,17 @@
7789
7805
 
7790
7806
  // Selector - node
7791
7807
  if ( sel.nodeName ) {
7792
- if ( $.inArray( sel, nodes ) !== -1 ) {
7793
- return [ sel._DT_RowIndex ]; // sel is a TR node that is in the table
7794
- // and DataTables adds a prop for fast lookup
7808
+ if ( sel._DT_RowIndex !== undefined ) {
7809
+ return [ sel._DT_RowIndex ]; // Property added by DT for fast lookup
7810
+ }
7811
+ else if ( sel._DT_CellIndex ) {
7812
+ return [ sel._DT_CellIndex.row ];
7813
+ }
7814
+ else {
7815
+ var host = $(sel).closest('*[data-dt-row]');
7816
+ return host.length ?
7817
+ [ host.data('dt-row') ] :
7818
+ [];
7795
7819
  }
7796
7820
  }
7797
7821
 
@@ -8351,17 +8375,35 @@
8351
8375
  return $.map( names, function (name, i) {
8352
8376
  return name === match[1] ? i : null;
8353
8377
  } );
8378
+
8379
+ default:
8380
+ return [];
8354
8381
  }
8355
8382
  }
8356
- else {
8357
- // jQuery selector on the TH elements for the columns
8358
- return $( nodes )
8359
- .filter( s )
8360
- .map( function () {
8361
- return $.inArray( this, nodes ); // `nodes` is column index complete and in order
8362
- } )
8363
- .toArray();
8383
+
8384
+ // Cell in the table body
8385
+ if ( s.nodeName && s._DT_CellIndex ) {
8386
+ return [ s._DT_CellIndex.column ];
8364
8387
  }
8388
+
8389
+ // jQuery selector on the TH elements for the columns
8390
+ var jqResult = $( nodes )
8391
+ .filter( s )
8392
+ .map( function () {
8393
+ return $.inArray( this, nodes ); // `nodes` is column index complete and in order
8394
+ } )
8395
+ .toArray();
8396
+
8397
+ if ( jqResult.length || ! s.nodeName ) {
8398
+ return jqResult;
8399
+ }
8400
+
8401
+ // Otherwise a node which might have a `dt-column` data attribute, or be
8402
+ // a child or such an element
8403
+ var host = $(s).closest('*[data-dt-column]');
8404
+ return host.length ?
8405
+ [ host.data('dt-column') ] :
8406
+ [];
8365
8407
  };
8366
8408
 
8367
8409
  return _selector_run( 'column', selector, run, settings, opts );
@@ -8414,11 +8456,6 @@
8414
8456
  if ( recalc === undefined || recalc ) {
8415
8457
  // Automatically adjust column sizing
8416
8458
  _fnAdjustColumnSizing( settings );
8417
-
8418
- // Realign columns for scrolling
8419
- if ( settings.oScroll.sX || settings.oScroll.sY ) {
8420
- _fnScrollDraw( settings );
8421
- }
8422
8459
  }
8423
8460
 
8424
8461
  _fnCallbackFire( settings, null, 'column-visibility', [settings, column, vis, recalc] );
@@ -8579,7 +8616,7 @@
8579
8616
  }
8580
8617
 
8581
8618
  // Selector - jQuery filtered cells
8582
- return allCells
8619
+ var jqResult = allCells
8583
8620
  .filter( s )
8584
8621
  .map( function (i, el) {
8585
8622
  return { // use a new object, in case someone changes the values
@@ -8588,6 +8625,21 @@
8588
8625
  };
8589
8626
  } )
8590
8627
  .toArray();
8628
+
8629
+ if ( jqResult.length || ! s.nodeName ) {
8630
+ return jqResult;
8631
+ }
8632
+
8633
+ // Otherwise the selector is a node, and there is one last option - the
8634
+ // element might be a child of an element which has dt-row and dt-column
8635
+ // data attributes
8636
+ host = $(s).closest('*[data-dt-row]');
8637
+ return host.length ?
8638
+ [ {
8639
+ row: host.data('dt-row'),
8640
+ column: host.data('dt-column')
8641
+ } ] :
8642
+ [];
8591
8643
  };
8592
8644
 
8593
8645
  return _selector_run( 'cell', selector, run, settings, opts );
@@ -8655,9 +8707,10 @@
8655
8707
 
8656
8708
  _api_registerPlural( 'cells().nodes()', 'cell().node()', function () {
8657
8709
  return this.iterator( 'cell', function ( settings, row, column ) {
8658
- var cells = settings.aoData[ row ].anCells;
8659
- return cells ?
8660
- cells[ column ] :
8710
+ var data = settings.aoData[ row ];
8711
+
8712
+ return data && data.anCells ?
8713
+ data.anCells[ column ] :
8661
8714
  undefined;
8662
8715
  }, 1 );
8663
8716
  } );
@@ -9305,7 +9358,7 @@
9305
9358
  * @type string
9306
9359
  * @default Version number
9307
9360
  */
9308
- DataTable.version = "1.10.10";
9361
+ DataTable.version = "1.10.11";
9309
9362
 
9310
9363
  /**
9311
9364
  * Private data store, containing all of the settings objects that are
@@ -14826,6 +14879,12 @@
14826
14879
  * to make working with DataTables a little bit easier.
14827
14880
  */
14828
14881
 
14882
+ var __htmlEscapeEntities = function ( d ) {
14883
+ return typeof d === 'string' ?
14884
+ d.replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;') :
14885
+ d;
14886
+ };
14887
+
14829
14888
  /**
14830
14889
  * Helpers for `columns.render`.
14831
14890
  *
@@ -14864,9 +14923,10 @@
14864
14923
  var flo = parseFloat( d );
14865
14924
 
14866
14925
  // If NaN then there isn't much formatting that we can do - just
14867
- // return immediately
14926
+ // return immediately, escaping any HTML (this was supposed to
14927
+ // be a number after all)
14868
14928
  if ( isNaN( flo ) ) {
14869
- return d;
14929
+ return __htmlEscapeEntities( d );
14870
14930
  }
14871
14931
 
14872
14932
  d = Math.abs( flo );
@@ -14888,11 +14948,7 @@
14888
14948
 
14889
14949
  text: function () {
14890
14950
  return {
14891
- display: function ( d ) {
14892
- return typeof d === 'string' ?
14893
- d.replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;') :
14894
- d;
14895
- }
14951
+ display: __htmlEscapeEntities
14896
14952
  };
14897
14953
  }
14898
14954
  };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * bootswatch v3.3.6
3
3
  * Homepage: http://bootswatch.com
4
- * Copyright 2012-2015 Thomas Park
4
+ * Copyright 2012-2016 Thomas Park
5
5
  * Licensed under MIT
6
6
  * Based on Bootstrap
7
7
  */
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * bootswatch v3.3.6
3
3
  * Homepage: http://bootswatch.com
4
- * Copyright 2012-2015 Thomas Park
4
+ * Copyright 2012-2016 Thomas Park
5
5
  * Licensed under MIT
6
6
  * Based on Bootstrap
7
7
  */
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -4512,7 +4512,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
4512
4512
  background-color: transparent;
4513
4513
  }
4514
4514
  .navbar-default .navbar-text {
4515
- color: #777777;
4515
+ color: #ffffff;
4516
4516
  }
4517
4517
  .navbar-default .navbar-nav > li > a {
4518
4518
  color: #ffffff;
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -4512,7 +4512,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
4512
4512
  background-color: transparent;
4513
4513
  }
4514
4514
  .navbar-default .navbar-text {
4515
- color: #777777;
4515
+ color: #ffffff;
4516
4516
  }
4517
4517
  .navbar-default .navbar-nav > li > a {
4518
4518
  color: #ffffff;
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -7424,7 +7424,7 @@ input[type="checkbox"]:disabled:checked:after,
7424
7424
  .alert-danger {
7425
7425
  background-color: #e51c23;
7426
7426
  }
7427
- .alert a:not(.close),
7427
+ .alert a:not(.close):not(.btn),
7428
7428
  .alert .alert-link {
7429
7429
  color: #fff;
7430
7430
  font-weight: bold;
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -27,6 +27,7 @@ table.dataTable.dtr-inline.collapsed > tbody > tr > th:first-child:before {
27
27
  border-radius: 16px;
28
28
  box-shadow: 0 0 3px #444;
29
29
  box-sizing: content-box;
30
+ text-align: left;
30
31
  font-family: 'Courier New', Courier, monospace;
31
32
  text-indent: 4px;
32
33
  line-height: 16px;
@@ -75,6 +76,7 @@ table.dataTable.dtr-column > tbody > tr > th.control:before {
75
76
  border-radius: 16px;
76
77
  box-shadow: 0 0 3px #444;
77
78
  box-sizing: content-box;
79
+ text-align: left;
78
80
  font-family: 'Courier New', Courier, monospace;
79
81
  text-indent: 4px;
80
82
  line-height: 16px;
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -2561,7 +2561,7 @@ output {
2561
2561
  color: #272b30;
2562
2562
  background-color: #ffffff;
2563
2563
  background-image: none;
2564
- border: 1px solid #cccccc;
2564
+ border: 1px solid #000000;
2565
2565
  border-radius: 4px;
2566
2566
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2567
2567
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
@@ -3909,7 +3909,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
3909
3909
  color: #272b30;
3910
3910
  text-align: center;
3911
3911
  background-color: #999999;
3912
- border: 1px solid #cccccc;
3912
+ border: 1px solid rgba(0, 0, 0, 0.6);
3913
3913
  border-radius: 4px;
3914
3914
  }
3915
3915
  .input-group-addon.input-sm {
@@ -7013,8 +7013,8 @@ textarea {
7013
7013
  border-color: #f89406;
7014
7014
  }
7015
7015
  .has-warning .input-group-addon {
7016
- background-color: #272b30;
7017
- border: none;
7016
+ background-color: #3a3f44;
7017
+ border-color: rgba(0, 0, 0, 0.6);
7018
7018
  }
7019
7019
  .has-error .help-block,
7020
7020
  .has-error .control-label,
@@ -7034,8 +7034,8 @@ textarea {
7034
7034
  border-color: #ee5f5b;
7035
7035
  }
7036
7036
  .has-error .input-group-addon {
7037
- background-color: #272b30;
7038
- border: none;
7037
+ background-color: #3a3f44;
7038
+ border-color: rgba(0, 0, 0, 0.6);
7039
7039
  }
7040
7040
  .has-success .help-block,
7041
7041
  .has-success .control-label,
@@ -7055,15 +7055,14 @@ textarea {
7055
7055
  border-color: #62c462;
7056
7056
  }
7057
7057
  .has-success .input-group-addon {
7058
- background-color: #272b30;
7059
- border: none;
7058
+ background-color: #3a3f44;
7059
+ border-color: rgba(0, 0, 0, 0.6);
7060
7060
  }
7061
7061
  legend {
7062
7062
  color: #fff;
7063
7063
  }
7064
7064
  .input-group-addon {
7065
- border-color: rgba(0, 0, 0, 0.6);
7066
- text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
7065
+ background-color: #3a3f44;
7067
7066
  background-image: -webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);
7068
7067
  background-image: -o-linear-gradient(#484e55, #3a3f44 60%, #313539);
7069
7068
  background-image: -webkit-gradient(linear, left top, left bottom, from(#484e55), color-stop(60%, #3a3f44), to(#313539));
@@ -7072,6 +7071,7 @@ legend {
7072
7071
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);
7073
7072
  -webkit-filter: none;
7074
7073
  filter: none;
7074
+ text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
7075
7075
  color: #ffffff;
7076
7076
  }
7077
7077
  .nav .open > a,
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -6869,6 +6869,10 @@ label,
6869
6869
  .has-warning .form-control-feedback {
6870
6870
  color: #f0ad4e;
6871
6871
  }
6872
+ .has-warning .form-control,
6873
+ .has-warning .form-control:focus {
6874
+ border: 4px solid #f0ad4e;
6875
+ }
6872
6876
  .has-warning .input-group-addon {
6873
6877
  border: none;
6874
6878
  }
@@ -6885,6 +6889,10 @@ label,
6885
6889
  .has-error .form-control-feedback {
6886
6890
  color: #d9534f;
6887
6891
  }
6892
+ .has-error .form-control,
6893
+ .has-error .form-control:focus {
6894
+ border: 4px solid #d9534f;
6895
+ }
6888
6896
  .has-error .input-group-addon {
6889
6897
  border: none;
6890
6898
  }
@@ -6901,6 +6909,10 @@ label,
6901
6909
  .has-success .form-control-feedback {
6902
6910
  color: #5cb85c;
6903
6911
  }
6912
+ .has-success .form-control,
6913
+ .has-success .form-control:focus {
6914
+ border: 4px solid #5cb85c;
6915
+ }
6904
6916
  .has-success .input-group-addon {
6905
6917
  border: none;
6906
6918
  }
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -2,7 +2,7 @@
2
2
  /*!
3
3
  * bootswatch v3.3.6
4
4
  * Homepage: http://bootswatch.com
5
- * Copyright 2012-2015 Thomas Park
5
+ * Copyright 2012-2016 Thomas Park
6
6
  * Licensed under MIT
7
7
  * Based on Bootstrap
8
8
  */
@@ -6783,6 +6783,10 @@ button.close {
6783
6783
  height: auto;
6784
6784
  padding: 4px 6px;
6785
6785
  }
6786
+ .navbar-text {
6787
+ margin: 12px 15px;
6788
+ line-height: 21px;
6789
+ }
6786
6790
  .navbar .dropdown-menu {
6787
6791
  border: none;
6788
6792
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootswatch_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.6.1
4
+ version: 3.3.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Volker Wiegand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-27 00:00:00.000000000 Z
11
+ date: 2016-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -86,6 +86,7 @@ files:
86
86
  - cleditor/jquery.cleditor.js
87
87
  - cleditor/jquery.cleditor.min.js
88
88
  - datatables/DataTables-1.10.10.zip
89
+ - datatables/DataTables-1.10.11.zip
89
90
  - datatables/DataTables-1.10.9.zip
90
91
  - generate.sh
91
92
  - lib/bootswatch_rails.rb
@@ -205,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
205
206
  version: '0'
206
207
  requirements: []
207
208
  rubyforge_project:
208
- rubygems_version: 2.5.1
209
+ rubygems_version: 2.6.4
209
210
  signing_key:
210
211
  specification_version: 4
211
212
  summary: Add bootswatch.com themes to the Rails asset pipeline