jquery-datatables 1.10.15 → 1.10.16
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 +23 -16
- data/Rakefile +46 -27
- data/app/assets/javascripts/datatables/dataTables.bootstrap4.js +3 -3
- data/app/assets/javascripts/datatables/dataTables.jqueryui.js +6 -6
- data/app/assets/javascripts/datatables/extensions/AutoFill/dataTables.autoFill.js +5 -5
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.bootstrap.js +3 -1
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.bootstrap4.js +3 -1
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.colVis.js +2 -1
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.flash.js +74 -69
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.foundation.js +3 -1
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.html5.js +86 -63
- data/app/assets/javascripts/datatables/extensions/Buttons/buttons.print.js +16 -22
- data/app/assets/javascripts/datatables/extensions/Buttons/dataTables.buttons.js +131 -3
- data/app/assets/javascripts/datatables/extensions/ColReorder/dataTables.colReorder.js +12 -6
- data/app/assets/javascripts/datatables/extensions/FixedColumns/dataTables.fixedColumns.js +8 -5
- data/app/assets/javascripts/datatables/extensions/FixedHeader/dataTables.fixedHeader.js +14 -9
- data/app/assets/javascripts/datatables/extensions/KeyTable/dataTables.keyTable.js +103 -8
- data/app/assets/javascripts/datatables/extensions/Responsive/dataTables.responsive.js +106 -6
- data/app/assets/javascripts/datatables/extensions/Responsive/responsive.bootstrap4.js +1 -1
- data/app/assets/javascripts/datatables/extensions/RowGroup/dataTables.rowGroup.js +8 -6
- data/app/assets/javascripts/datatables/extensions/RowReorder/dataTables.rowReorder.js +68 -35
- data/app/assets/javascripts/datatables/extensions/Scroller/dataTables.scroller.js +71 -10
- data/app/assets/javascripts/datatables/extensions/Select/dataTables.select.js +11 -7
- data/app/assets/javascripts/datatables/jquery.dataTables.js +19 -121
- data/app/assets/stylesheets/datatables/dataTables.bootstrap.scss +252 -0
- data/app/assets/stylesheets/datatables/{dataTables.bootstrap2.css → dataTables.bootstrap2.scss} +6 -6
- data/app/assets/stylesheets/datatables/dataTables.bootstrap4.scss +262 -0
- data/app/assets/stylesheets/datatables/dataTables.foundation.scss +154 -0
- data/app/assets/stylesheets/datatables/dataTables.jqueryui.scss +93 -0
- data/app/assets/stylesheets/datatables/dataTables.material.scss +101 -0
- data/app/assets/stylesheets/datatables/dataTables.semanticui.scss +138 -0
- data/app/assets/stylesheets/datatables/dataTables.uikit.scss +195 -0
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.bootstrap.scss +8 -0
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.bootstrap4.scss +8 -0
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.dataTables.scss +125 -0
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.foundation.scss +13 -0
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.jqueryui.scss +10 -0
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.semanticui.scss +8 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap.scss +40 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap4.scss +53 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.dataTables.scss +141 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.foundation.scss +82 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.jqueryui.scss +98 -0
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.semanticui.scss +53 -0
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.bootstrap.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.bootstrap4.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.dataTables.scss +17 -0
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.foundation.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.jqueryui.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.semanticui.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap.scss +50 -0
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap4.scss +11 -0
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.dataTables.scss +22 -0
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/{fixedColumns.foundation.css → fixedColumns.foundation.scss} +15 -6
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.jqueryui.scss +16 -0
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.semanticui.scss +41 -0
- data/app/assets/stylesheets/datatables/extensions/FixedHeader/{fixedHeader.bootstrap4.css → fixedHeader.bootstrap.scss} +6 -5
- data/app/assets/stylesheets/datatables/extensions/FixedHeader/{fixedHeader.foundation.css → fixedHeader.bootstrap4.scss} +6 -5
- data/app/assets/stylesheets/datatables/extensions/FixedHeader/fixedHeader.dataTables.scss +21 -0
- data/app/assets/stylesheets/datatables/extensions/FixedHeader/{fixedHeader.bootstrap.css → fixedHeader.foundation.scss} +6 -5
- data/app/assets/stylesheets/datatables/extensions/FixedHeader/{fixedHeader.semanticui.css → fixedHeader.jqueryui.scss} +7 -3
- data/app/assets/stylesheets/datatables/extensions/FixedHeader/fixedHeader.semanticui.scss +16 -0
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.bootstrap.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.bootstrap4.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.dataTables.scss +10 -0
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.foundation.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.jqueryui.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.semanticui.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.bootstrap.scss +8 -0
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.bootstrap4.scss +9 -0
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.dataTables.scss +240 -0
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.foundation.scss +10 -0
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.jqueryui.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.semanticui.scss +9 -0
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap4.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.dataTables.scss +9 -0
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.foundation.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.jqueryui.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.semanticui.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.bootstrap.scss +5 -0
- data/app/assets/stylesheets/datatables/extensions/RowReorder/{semanticui.scss → rowReorder.bootstrap4.scss} +0 -0
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.dataTables.scss +26 -0
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.foundation.scss +5 -0
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.jqueryui.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.semanticui.scss +5 -0
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.bootstrap.scss +9 -0
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.bootstrap4.scss +9 -0
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.dataTables.scss +36 -0
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.foundation.scss +31 -0
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.jqueryui.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.semanticui.scss +2 -0
- data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap.scss +17 -0
- data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap4.scss +17 -0
- data/app/assets/stylesheets/datatables/extensions/Select/select.dataTables.scss +143 -0
- data/app/assets/stylesheets/datatables/extensions/Select/select.foundation.scss +18 -0
- data/app/assets/stylesheets/datatables/extensions/Select/select.jqueryui.scss +4 -0
- data/app/assets/stylesheets/datatables/extensions/Select/select.semanticui.scss +14 -0
- data/app/assets/stylesheets/datatables/jquery.dataTables.scss +599 -0
- data/lib/generators/jquery/datatables/install_generator.rb +1 -1
- data/lib/generators/jquery/datatables/templates/bootstrap.js.tt +3 -1
- data/lib/generators/jquery/datatables/templates/bootstrap.scss.tt +15 -0
- data/lib/generators/jquery/datatables/templates/bootstrap4.js.tt +3 -1
- data/lib/generators/jquery/datatables/templates/bootstrap4.scss.tt +15 -0
- data/lib/generators/jquery/datatables/templates/foundation.js.tt +4 -4
- data/lib/generators/jquery/datatables/templates/foundation.scss.tt +33 -0
- data/lib/generators/jquery/datatables/templates/jqueryui.js.tt +7 -1
- data/lib/generators/jquery/datatables/templates/jqueryui.scss.tt +15 -0
- data/lib/generators/jquery/datatables/templates/material.js.tt +3 -1
- data/lib/generators/jquery/datatables/templates/material.scss.tt +1 -0
- data/lib/generators/jquery/datatables/templates/regular.js.tt +4 -3
- data/lib/generators/jquery/datatables/templates/regular.scss.tt +33 -0
- data/lib/generators/jquery/datatables/templates/semanticui.js.tt +4 -2
- data/lib/generators/jquery/datatables/templates/semanticui.scss.tt +15 -0
- data/lib/generators/jquery/datatables/templates/uikit.js.tt +4 -2
- data/lib/generators/jquery/datatables/templates/uikit.scss.tt +1 -0
- data/lib/jquery-datatables/version.rb +1 -1
- metadata +86 -90
- data/app/assets/stylesheets/datatables/dataTables.bootstrap.css +0 -184
- data/app/assets/stylesheets/datatables/dataTables.bootstrap4.css +0 -194
- data/app/assets/stylesheets/datatables/dataTables.foundation.css +0 -118
- data/app/assets/stylesheets/datatables/dataTables.jqueryui.css +0 -482
- data/app/assets/stylesheets/datatables/dataTables.material.css +0 -87
- data/app/assets/stylesheets/datatables/dataTables.semanticui.css +0 -102
- data/app/assets/stylesheets/datatables/dataTables.uikit.css +0 -146
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.bootstrap.css +0 -81
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.bootstrap4.css +0 -81
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.dataTables.css +0 -92
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.foundation.css +0 -85
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.jqueryui.css +0 -85
- data/app/assets/stylesheets/datatables/extensions/AutoFill/autoFill.semanticui.css +0 -81
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap.css +0 -158
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.bootstrap4.css +0 -219
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.dataTables.css +0 -354
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.foundation.css +0 -189
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.jqueryui.css +0 -218
- data/app/assets/stylesheets/datatables/extensions/Buttons/buttons.semanticui.css +0 -171
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.bootstrap.css +0 -11
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.bootstrap4.css +0 -11
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.dataTables.css +0 -11
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.foundation.css +0 -11
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.jqueryui.css +0 -11
- data/app/assets/stylesheets/datatables/extensions/ColReorder/colReorder.semanticui.css +0 -11
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap.css +0 -44
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.bootstrap4.css +0 -44
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.dataTables.css +0 -18
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.jqueryui.css +0 -8
- data/app/assets/stylesheets/datatables/extensions/FixedColumns/fixedColumns.semanticui.css +0 -16
- data/app/assets/stylesheets/datatables/extensions/FixedHeader/fixedHeader.dataTables.css +0 -19
- data/app/assets/stylesheets/datatables/extensions/FixedHeader/fixedHeader.jqueryui.css +0 -15
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.bootstrap.css +0 -5
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.bootstrap4.css +0 -5
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.dataTables.css +0 -5
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.foundation.css +0 -5
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.jqueryui.css +0 -5
- data/app/assets/stylesheets/datatables/extensions/KeyTable/keyTable.semanticui.css +0 -5
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.bootstrap.css +0 -181
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.bootstrap4.css +0 -181
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.dataTables.css +0 -178
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.foundation.css +0 -181
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.jqueryui.css +0 -178
- data/app/assets/stylesheets/datatables/extensions/Responsive/responsive.semanticui.css +0 -181
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap.css +0 -4
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.bootstrap4.css +0 -4
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.dataTables.css +0 -4
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.foundation.css +0 -4
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.jqueryui.css +0 -4
- data/app/assets/stylesheets/datatables/extensions/RowGroup/rowGroup.semanticui.css +0 -4
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.bootstrap.css +0 -22
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.bootstrap4.css +0 -22
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.dataTables.css +0 -22
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.foundation.css +0 -22
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.jqueryui.css +0 -22
- data/app/assets/stylesheets/datatables/extensions/RowReorder/rowReorder.semanticui.css +0 -22
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.bootstrap.css +0 -24
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.bootstrap4.css +0 -24
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.dataTables.css +0 -20
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.foundation.css +0 -17
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.jqueryui.css +0 -20
- data/app/assets/stylesheets/datatables/extensions/Scroller/scroller.semanticui.css +0 -20
- data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap.css +0 -115
- data/app/assets/stylesheets/datatables/extensions/Select/select.bootstrap4.css +0 -115
- data/app/assets/stylesheets/datatables/extensions/Select/select.dataTables.css +0 -105
- data/app/assets/stylesheets/datatables/extensions/Select/select.foundation.css +0 -117
- data/app/assets/stylesheets/datatables/extensions/Select/select.jqueryui.css +0 -105
- data/app/assets/stylesheets/datatables/extensions/Select/select.semanticui.css +0 -110
- data/app/assets/stylesheets/datatables/jquery.dataTables.css +0 -455
- data/app/assets/stylesheets/datatables/jquery.dataTables_themeroller.css +0 -416
- data/lib/generators/jquery/datatables/templates/bootstrap.css.tt +0 -15
- data/lib/generators/jquery/datatables/templates/bootstrap2.css.tt +0 -15
- data/lib/generators/jquery/datatables/templates/bootstrap2.js.tt +0 -22
- data/lib/generators/jquery/datatables/templates/bootstrap4.css.tt +0 -15
- data/lib/generators/jquery/datatables/templates/foundation.css.tt +0 -15
- data/lib/generators/jquery/datatables/templates/jqueryui.css.tt +0 -15
- data/lib/generators/jquery/datatables/templates/material.css.tt +0 -15
- data/lib/generators/jquery/datatables/templates/regular.css.tt +0 -15
- data/lib/generators/jquery/datatables/templates/semanticui.css.tt +0 -16
- data/lib/generators/jquery/datatables/templates/uikit.css.tt +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 27428072c9d4a5278d1706f0cbd34ada755b39d0
|
|
4
|
+
data.tar.gz: 71ff60a597d6606a52918d34c4e2c6b3aa239d18
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c8307a745961c98ee70809ca9fd5abfefebf18eb9681dd3558caff33d26837a483a34b34549aff9242756b7060c319614aa656cb8122e15119e13c847cba0fb1
|
|
7
|
+
data.tar.gz: 331efe4207f004fde90cd8ae508d03878f046b1296d85bb80c9bccc5fd4811fd9c8bdf0cfd0b0d2bdb0ab9dd11e4a76a7786f645072d1c60263888d06b072f70
|
data/README.md
CHANGED
|
@@ -6,8 +6,11 @@ Include [jQuery DataTables](http://www.datatables.net/) in your asset pipeline w
|
|
|
6
6
|
## Gem Installation
|
|
7
7
|
|
|
8
8
|
### Requirements
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
|
|
10
|
+
**Rails 5.1+**
|
|
11
|
+
The Rails JavaScript helpers has been rewritten in a new gem called rails-ujs and they use vanilla JavaScript, so jQuery is not a dependency of Rails anymore. Since materializecss relies on it, install it with ```bin/yarn add jquery``` or via ```gem 'jquery-rails'``` and add ```//= require jquery``` to ```application.js```.
|
|
12
|
+
|
|
13
|
+
**NOTE:** Ensure that the `sass-rails` gem is presented in your Gemfile.
|
|
11
14
|
|
|
12
15
|
|
|
13
16
|
Add this line to your application's `Gemfile`:
|
|
@@ -39,7 +42,7 @@ this generator will:
|
|
|
39
42
|
- 1. append ```//= require datatables ``` add `app/assets/javascripts/application.js`
|
|
40
43
|
- 2. append ```*= require datatables ``` add `app/assets/stylesheets/application.css`
|
|
41
44
|
- 3. create datatable.js in ```app/assets/javascripts/```
|
|
42
|
-
- 4. create datatable.
|
|
45
|
+
- 4. create datatable.scss in ```app/assets/stylesheets/```
|
|
43
46
|
|
|
44
47
|
## Manual install
|
|
45
48
|
|
|
@@ -75,27 +78,31 @@ Include the stylesheet in your `app/assets/stylesheets/application.css`:
|
|
|
75
78
|
*= require datatables
|
|
76
79
|
```
|
|
77
80
|
|
|
78
|
-
|
|
81
|
+
or if you using scss
|
|
82
|
+
|
|
83
|
+
Include the stylesheet in your `app/assets/stylesheets/application.scss`:
|
|
84
|
+
```scss
|
|
85
|
+
@import 'datatables';
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Create new file `app/assets/stylesheets/datatables.scss`
|
|
79
89
|
<br>
|
|
80
90
|
** default theme
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
*= require datatables/extensions/Buttons/buttons.dataTables
|
|
86
|
-
*/
|
|
91
|
+
```scss
|
|
92
|
+
@import 'datatables/jquery.dataTables';
|
|
93
|
+
@import 'datatables/extensions/Responsive/responsive.dataTables';
|
|
94
|
+
@import 'datatables/extensions/Buttons/buttons.dataTables';
|
|
87
95
|
```
|
|
88
96
|
** if using boostrap theme
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
*= require datatables/extensions/Buttons/buttons.bootstrap4
|
|
94
|
-
*/
|
|
97
|
+
```scss
|
|
98
|
+
@import 'datatables/dataTables.bootstrap4';
|
|
99
|
+
@import 'datatables/extensions/Responsive/responsive.bootstrap4';
|
|
100
|
+
@import 'datatables/extensions/Buttons/buttons.bootstrap4';
|
|
95
101
|
|
|
96
102
|
```
|
|
97
103
|
*** you may refer other extensions in this directory: [click me](https://github.com/mkhairi/jquery-datatables/tree/master/app/assets/stylesheets/datatables/extensions)
|
|
98
104
|
|
|
105
|
+
|
|
99
106
|
### Initialization
|
|
100
107
|
|
|
101
108
|
Where needed in your JavaScripts, initialize your DataTables:
|
data/Rakefile
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
1
3
|
require "bundler/gem_tasks"
|
|
2
4
|
|
|
3
5
|
datatables_dir = "DataTablesSrc"
|
|
@@ -16,7 +18,7 @@ namespace :images do
|
|
|
16
18
|
task :copy do
|
|
17
19
|
tgt_dir = "app/assets/images/datatables/"
|
|
18
20
|
mkdir_p tgt_dir
|
|
19
|
-
Dir.glob("#{datatables_dir}/
|
|
21
|
+
Dir.glob("#{datatables_dir}/images/*.png") do |src_file|
|
|
20
22
|
cp src_file, tgt_dir
|
|
21
23
|
end
|
|
22
24
|
end
|
|
@@ -32,9 +34,19 @@ namespace :javascripts do
|
|
|
32
34
|
rm_rf "app/assets/javascripts/datatables"
|
|
33
35
|
end
|
|
34
36
|
|
|
35
|
-
desc "Copy #{datatables_dir}/
|
|
37
|
+
desc "Copy main #{datatables_dir}/js/"
|
|
38
|
+
task :copy do
|
|
39
|
+
src_file = "https://raw.githubusercontent.com/DataTables/DataTables/master/media/js/jquery.dataTables.js"
|
|
40
|
+
tgt_dir = "app/assets/javascripts/datatables/"
|
|
41
|
+
mkdir_p tgt_dir
|
|
42
|
+
Dir.chdir tgt_dir do
|
|
43
|
+
%x(wget #{src_file})
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
desc "Copy integration #{datatables_dir}/js/"
|
|
36
48
|
task :copy do
|
|
37
|
-
src_dir = "#{datatables_dir}/
|
|
49
|
+
src_dir = "#{datatables_dir}/js/integration/."
|
|
38
50
|
tgt_dir = "app/assets/javascripts/datatables/"
|
|
39
51
|
mkdir_p tgt_dir
|
|
40
52
|
cp_r src_dir, tgt_dir
|
|
@@ -60,9 +72,9 @@ namespace :stylesheets do
|
|
|
60
72
|
rm_rf "app/assets/stylesheets/datatables"
|
|
61
73
|
end
|
|
62
74
|
|
|
63
|
-
desc "Copy #{datatables_dir}/
|
|
75
|
+
desc "Copy #{datatables_dir}/css/"
|
|
64
76
|
task :copy do
|
|
65
|
-
src_dir = "#{datatables_dir}/
|
|
77
|
+
src_dir = "#{datatables_dir}/css/."
|
|
66
78
|
tgt_dir = "app/assets/stylesheets/datatables/"
|
|
67
79
|
mkdir_p tgt_dir
|
|
68
80
|
cp_r src_dir, tgt_dir
|
|
@@ -78,17 +90,8 @@ namespace :stylesheets do
|
|
|
78
90
|
end
|
|
79
91
|
end
|
|
80
92
|
|
|
81
|
-
desc "Fix image URLs in stylesheets"
|
|
82
|
-
task :fix_urls do
|
|
83
|
-
Dir.glob('app/assets/stylesheet/datatables/*.css').each do |tgt_file|
|
|
84
|
-
content = File.read(tgt_file)
|
|
85
|
-
fixed_content = content.gsub(/url\(\"\.\.\/images\/([A-Za-z_]*.png)\"\)/, 'image-url("\1")')
|
|
86
|
-
File.open(tgt_file, "w") { |f| f.puts fixed_content}
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
|
|
90
93
|
desc "Setup stylesheet assets"
|
|
91
|
-
task setup: [:clean, :copy, :copy_extensions
|
|
94
|
+
task setup: [:clean, :copy, :copy_extensions]
|
|
92
95
|
end
|
|
93
96
|
|
|
94
97
|
desc "Remove minified file .min"
|
|
@@ -99,6 +102,19 @@ task :cleanup do
|
|
|
99
102
|
rm "app/assets/javascripts/datatables/jquery.js"
|
|
100
103
|
end
|
|
101
104
|
|
|
105
|
+
|
|
106
|
+
desc "Fix image URLs in stylesheets"
|
|
107
|
+
task :fix_urls do
|
|
108
|
+
puts "fix assets path"
|
|
109
|
+
Dir.glob('app/assets/stylesheets/datatables/*.scss').each do |file|
|
|
110
|
+
puts file
|
|
111
|
+
content = File.read(file)
|
|
112
|
+
fixed_content = content.gsub(/url\(\'\.\.\/images\/([A-Za-z_]*.png)\'\)/, 'image-url("datatables/\1")')
|
|
113
|
+
File.open(file, "w") { |f| f.puts fixed_content}
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
|
|
102
118
|
task :templates do
|
|
103
119
|
templates_dir = "lib/generators/jquery/datatables/templates"
|
|
104
120
|
rm_rf templates_dir
|
|
@@ -107,19 +123,24 @@ task :templates do
|
|
|
107
123
|
javascripts = Dir.glob('app/assets/javascripts/**/*')
|
|
108
124
|
|
|
109
125
|
frameworks.each do |framework|
|
|
110
|
-
tgt_css_file = "#{templates_dir}/#{framework}.
|
|
126
|
+
tgt_css_file = "#{templates_dir}/#{framework}.scss.tt"
|
|
111
127
|
tgt_js_file = "#{templates_dir}/#{framework}.js.tt"
|
|
112
128
|
|
|
113
129
|
|
|
114
130
|
javascripts.each do |file|
|
|
115
131
|
file_name = file.gsub("app/assets/javascripts/", "")
|
|
116
|
-
|
|
132
|
+
puts file_name
|
|
133
|
+
if file_name.match(/jquery\./)
|
|
134
|
+
File.open(tgt_js_file, "a") { |f| f.puts "//= require #{file_name.gsub('.js', '')}"}
|
|
135
|
+
File.open(tgt_js_file, "a") { |f| f.puts "// optional change to '//=' enable)" }
|
|
136
|
+
end
|
|
117
137
|
end
|
|
118
138
|
|
|
119
139
|
javascripts.each do |file|
|
|
120
140
|
file_name = file.gsub("app/assets/javascripts/", "")
|
|
141
|
+
puts file_name
|
|
121
142
|
next if frameworks.any? { |s| file_name.match(/#{Regexp.escape(s)}/) } or file_name.match(/jquery/)
|
|
122
|
-
File.open(tgt_js_file, "a") { |f| f.puts "// require #{file_name}"} if file_name.match(/dataTables/)
|
|
143
|
+
File.open(tgt_js_file, "a") { |f| f.puts "// require #{file_name.gsub('.js', '')}"} if file_name.match(/dataTables/)
|
|
123
144
|
end
|
|
124
145
|
|
|
125
146
|
|
|
@@ -129,12 +150,14 @@ task :templates do
|
|
|
129
150
|
|
|
130
151
|
stylesheets.each do |file|
|
|
131
152
|
file_name = file.gsub("app/assets/stylesheets/", "")
|
|
132
|
-
|
|
153
|
+
puts file_name
|
|
154
|
+
File.open(tgt_css_file, "a") { |f| f.puts "//@import '#{file_name.gsub('.css', '')}';"} if file_name.match(/#{Regexp.escape(framework)}\./)
|
|
133
155
|
end
|
|
134
156
|
|
|
135
157
|
javascripts.each do |file|
|
|
136
158
|
file_name = file.gsub("app/assets/javascripts/", "")
|
|
137
|
-
|
|
159
|
+
puts file_name
|
|
160
|
+
File.open(tgt_js_file, "a") { |f| f.puts "// require #{file_name.gsub('.js', '')}"} if file_name.match(/#{Regexp.escape(framework)}\./)
|
|
138
161
|
end
|
|
139
162
|
|
|
140
163
|
else
|
|
@@ -142,23 +165,19 @@ task :templates do
|
|
|
142
165
|
#core first]
|
|
143
166
|
stylesheets.each do |file|
|
|
144
167
|
file_name = file.gsub("app/assets/stylesheets/", "")
|
|
145
|
-
File.open(tgt_css_file, "a") { |f| f.puts "
|
|
168
|
+
File.open(tgt_css_file, "a") { |f| f.puts "//@import '#{file_name.gsub('.css', '')}';"} if file_name.match(/jquery\./)
|
|
146
169
|
end
|
|
147
170
|
|
|
148
171
|
#plugins
|
|
149
172
|
stylesheets.each do |file|
|
|
150
173
|
file_name = file.gsub("app/assets/stylesheets/", "")
|
|
151
174
|
next if frameworks.any? { |s| file_name.match(/#{Regexp.escape(s)}/) } or file_name.match(/jquery/)
|
|
152
|
-
File.open(tgt_css_file, "a") { |f| f.puts "
|
|
175
|
+
File.open(tgt_css_file, "a") { |f| f.puts "//@import '#{file_name.gsub('.css', '')}';"} if file_name.match(/dataTables/)
|
|
153
176
|
end
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
177
|
+
|
|
157
178
|
end
|
|
158
179
|
|
|
159
180
|
end
|
|
160
|
-
|
|
161
|
-
|
|
162
181
|
|
|
163
182
|
end
|
|
164
183
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/*! DataTables Bootstrap
|
|
2
|
-
* ©2011-
|
|
1
|
+
/*! DataTables Bootstrap 4 integration
|
|
2
|
+
* ©2011-2017 SpryMedia Ltd - datatables.net/license
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* DataTables integration for Bootstrap
|
|
6
|
+
* DataTables integration for Bootstrap 4. This requires Bootstrap 4 and
|
|
7
7
|
* DataTables 1.10 or newer.
|
|
8
8
|
*
|
|
9
9
|
* This file sets the defaults and adds options to DataTables to style its
|
|
@@ -86,7 +86,7 @@ $.extend( DataTable.ext.classes, {
|
|
|
86
86
|
|
|
87
87
|
DataTable.ext.renderer.header.jqueryui = function ( settings, cell, column, classes ) {
|
|
88
88
|
// Calculate what the unsorted class should be
|
|
89
|
-
var noSortAppliedClass = sort_prefix+'
|
|
89
|
+
var noSortAppliedClass = sort_prefix+'caret-2-n-s';
|
|
90
90
|
var asc = $.inArray('asc', column.asSorting) !== -1;
|
|
91
91
|
var desc = $.inArray('desc', column.asSorting) !== -1;
|
|
92
92
|
|
|
@@ -94,10 +94,10 @@ DataTable.ext.renderer.header.jqueryui = function ( settings, cell, column, clas
|
|
|
94
94
|
noSortAppliedClass = '';
|
|
95
95
|
}
|
|
96
96
|
else if ( asc && !desc ) {
|
|
97
|
-
noSortAppliedClass = sort_prefix+'
|
|
97
|
+
noSortAppliedClass = sort_prefix+'caret-1-n';
|
|
98
98
|
}
|
|
99
99
|
else if ( !asc && desc ) {
|
|
100
|
-
noSortAppliedClass = sort_prefix+'
|
|
100
|
+
noSortAppliedClass = sort_prefix+'caret-1-s';
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
// Setup the DOM structure
|
|
@@ -130,9 +130,9 @@ DataTable.ext.renderer.header.jqueryui = function ( settings, cell, column, clas
|
|
|
130
130
|
.removeClass(
|
|
131
131
|
sort_prefix+'triangle-1-n' +" "+
|
|
132
132
|
sort_prefix+'triangle-1-s' +" "+
|
|
133
|
-
sort_prefix+'
|
|
134
|
-
sort_prefix+'
|
|
135
|
-
sort_prefix+'
|
|
133
|
+
sort_prefix+'caret-2-n-s' +" "+
|
|
134
|
+
sort_prefix+'caret-1-n' +" "+
|
|
135
|
+
sort_prefix+'caret-1-s'
|
|
136
136
|
)
|
|
137
137
|
.addClass( columns[ colIdx ] == 'asc' ?
|
|
138
138
|
sort_prefix+'triangle-1-n' : columns[ colIdx ] == 'desc' ?
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
/*! AutoFill 2.2.
|
|
2
|
-
* ©2008-
|
|
1
|
+
/*! AutoFill 2.2.2
|
|
2
|
+
* ©2008-2017 SpryMedia Ltd - datatables.net/license
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @summary AutoFill
|
|
7
7
|
* @description Add Excel like click and drag auto-fill options to DataTables
|
|
8
|
-
* @version 2.2.
|
|
8
|
+
* @version 2.2.2
|
|
9
9
|
* @file dataTables.autoFill.js
|
|
10
10
|
* @author SpryMedia Ltd (www.sprymedia.co.uk)
|
|
11
11
|
* @contact www.sprymedia.co.uk/contact
|
|
12
|
-
* @copyright Copyright 2010-
|
|
12
|
+
* @copyright Copyright 2010-2017 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
|
|
@@ -1055,7 +1055,7 @@ AutoFill.actions = {
|
|
|
1055
1055
|
* @static
|
|
1056
1056
|
* @type String
|
|
1057
1057
|
*/
|
|
1058
|
-
AutoFill.version = '2.2.
|
|
1058
|
+
AutoFill.version = '2.2.2';
|
|
1059
1059
|
|
|
1060
1060
|
|
|
1061
1061
|
/**
|
|
@@ -49,7 +49,9 @@ $.extend( true, DataTable.Buttons.defaults, {
|
|
|
49
49
|
className: 'dt-button-collection dropdown-menu',
|
|
50
50
|
button: {
|
|
51
51
|
tag: 'li',
|
|
52
|
-
className: 'dt-button'
|
|
52
|
+
className: 'dt-button',
|
|
53
|
+
active: 'active',
|
|
54
|
+
disabled: 'disabled'
|
|
53
55
|
},
|
|
54
56
|
buttonLiner: {
|
|
55
57
|
tag: 'a',
|
|
@@ -48,7 +48,9 @@ $.extend( true, DataTable.Buttons.defaults, {
|
|
|
48
48
|
className: 'dt-button-collection dropdown-menu',
|
|
49
49
|
button: {
|
|
50
50
|
tag: 'a',
|
|
51
|
-
className: 'dt-button dropdown-item'
|
|
51
|
+
className: 'dt-button dropdown-item',
|
|
52
|
+
active: 'active',
|
|
53
|
+
disabled: 'disabled'
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
}
|
|
@@ -111,7 +111,7 @@ $.extend( DataTable.ext.buttons, {
|
|
|
111
111
|
|
|
112
112
|
dt
|
|
113
113
|
.on( 'column-visibility.dt'+conf.namespace, function (e, settings) {
|
|
114
|
-
if ( ! settings.bDestroying ) {
|
|
114
|
+
if ( ! settings.bDestroying && settings.nTable == dt.settings()[0].nTable ) {
|
|
115
115
|
that.active( dt.column( conf.columns ).visible() );
|
|
116
116
|
}
|
|
117
117
|
} )
|
|
@@ -148,6 +148,7 @@ $.extend( DataTable.ext.buttons, {
|
|
|
148
148
|
var idx = dt.column( conf.columns ).index();
|
|
149
149
|
var title = dt.settings()[0].aoColumns[ idx ].sTitle
|
|
150
150
|
.replace(/\n/g," ") // remove new lines
|
|
151
|
+
.replace(/<br\s*\/?>/gi, " ") // replace line breaks with spaces
|
|
151
152
|
.replace( /<.*?>/g, "" ) // strip HTML
|
|
152
153
|
.replace(/^\s+|\s+$/g,""); // trim
|
|
153
154
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Flash export buttons for Buttons and DataTables.
|
|
3
|
-
* 2015 SpryMedia Ltd - datatables.net/license
|
|
3
|
+
* 2015-2017 SpryMedia Ltd - datatables.net/license
|
|
4
4
|
*
|
|
5
5
|
* ZeroClipbaord - MIT license
|
|
6
6
|
* Copyright (c) 2012 Joseph Huckaby
|
|
@@ -491,35 +491,6 @@ var _glue = function ( flash, node )
|
|
|
491
491
|
}
|
|
492
492
|
};
|
|
493
493
|
|
|
494
|
-
/**
|
|
495
|
-
* Get the file name for an exported file.
|
|
496
|
-
*
|
|
497
|
-
* @param {object} config Button configuration
|
|
498
|
-
* @param {boolean} incExtension Include the file name extension
|
|
499
|
-
*/
|
|
500
|
-
var _filename = function ( config, incExtension )
|
|
501
|
-
{
|
|
502
|
-
// Backwards compatibility
|
|
503
|
-
var filename = config.filename === '*' && config.title !== '*' && config.title !== undefined ?
|
|
504
|
-
config.title :
|
|
505
|
-
config.filename;
|
|
506
|
-
|
|
507
|
-
if ( typeof filename === 'function' ) {
|
|
508
|
-
filename = filename();
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
if ( filename.indexOf( '*' ) !== -1 ) {
|
|
512
|
-
filename = $.trim( filename.replace( '*', $('title').text() ) );
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
// Strip characters which the OS will object to
|
|
516
|
-
filename = filename.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g, "");
|
|
517
|
-
|
|
518
|
-
return incExtension === undefined || incExtension === true ?
|
|
519
|
-
filename+config.extension :
|
|
520
|
-
filename;
|
|
521
|
-
};
|
|
522
|
-
|
|
523
494
|
/**
|
|
524
495
|
* Get the sheet name for Excel exports.
|
|
525
496
|
*
|
|
@@ -536,24 +507,6 @@ var _sheetname = function ( config )
|
|
|
536
507
|
return sheetName;
|
|
537
508
|
};
|
|
538
509
|
|
|
539
|
-
/**
|
|
540
|
-
* Get the title for an exported file.
|
|
541
|
-
*
|
|
542
|
-
* @param {object} config Button configuration
|
|
543
|
-
*/
|
|
544
|
-
var _title = function ( config )
|
|
545
|
-
{
|
|
546
|
-
var title = config.title;
|
|
547
|
-
|
|
548
|
-
if ( typeof title === 'function' ) {
|
|
549
|
-
title = title();
|
|
550
|
-
}
|
|
551
|
-
|
|
552
|
-
return title.indexOf( '*' ) !== -1 ?
|
|
553
|
-
title.replace( '*', $('title').text() || 'Exported data' ) :
|
|
554
|
-
title;
|
|
555
|
-
};
|
|
556
|
-
|
|
557
510
|
/**
|
|
558
511
|
* Set the flash text. This has to be broken up into chunks as the Javascript /
|
|
559
512
|
* Flash bridge has a size limit. There is no indication in the Flash
|
|
@@ -676,6 +629,10 @@ var flashButton = {
|
|
|
676
629
|
|
|
677
630
|
title: '*',
|
|
678
631
|
|
|
632
|
+
messageTop: '*',
|
|
633
|
+
|
|
634
|
+
messageBottom: '*',
|
|
635
|
+
|
|
679
636
|
filename: '*',
|
|
680
637
|
|
|
681
638
|
extension: '.csv',
|
|
@@ -723,13 +680,13 @@ function _createNode( doc, nodeName, opts ){
|
|
|
723
680
|
$(tempNode).attr( opts.attr );
|
|
724
681
|
}
|
|
725
682
|
|
|
726
|
-
if( opts.children ) {
|
|
683
|
+
if ( opts.children ) {
|
|
727
684
|
$.each( opts.children, function ( key, value ) {
|
|
728
685
|
tempNode.appendChild( value );
|
|
729
|
-
});
|
|
686
|
+
} );
|
|
730
687
|
}
|
|
731
688
|
|
|
732
|
-
if( opts.text ) {
|
|
689
|
+
if ( opts.text !== null && opts.text !== undefined ) {
|
|
733
690
|
tempNode.appendChild( doc.createTextNode( opts.text ) );
|
|
734
691
|
}
|
|
735
692
|
}
|
|
@@ -914,6 +871,7 @@ var excelStrings = {
|
|
|
914
871
|
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'+
|
|
915
872
|
'<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">'+
|
|
916
873
|
'<sheetData/>'+
|
|
874
|
+
'<mergeCells count="0"/>'+
|
|
917
875
|
'</worksheet>',
|
|
918
876
|
|
|
919
877
|
"xl/styles.xml":
|
|
@@ -1120,7 +1078,7 @@ var _excelSpecials = [
|
|
|
1120
1078
|
*/
|
|
1121
1079
|
|
|
1122
1080
|
// Set the default SWF path
|
|
1123
|
-
DataTable.Buttons.swfPath = '//cdn.datatables.net/buttons/
|
|
1081
|
+
DataTable.Buttons.swfPath = '//cdn.datatables.net/buttons/'+DataTable.Buttons.version+'/swf/flashExport.swf';
|
|
1124
1082
|
|
|
1125
1083
|
// Method to allow Flash buttons to be resized when made visible - as they are
|
|
1126
1084
|
// of zero height and width if initialised hidden
|
|
@@ -1154,10 +1112,26 @@ DataTable.ext.buttons.copyFlash = $.extend( {}, flashButton, {
|
|
|
1154
1112
|
this.processing( true );
|
|
1155
1113
|
|
|
1156
1114
|
var flash = config._flash;
|
|
1157
|
-
var
|
|
1158
|
-
var
|
|
1159
|
-
|
|
1160
|
-
|
|
1115
|
+
var exportData = _exportData( dt, config );
|
|
1116
|
+
var info = dt.buttons.exportInfo( config );
|
|
1117
|
+
var newline = _newLine(config);
|
|
1118
|
+
var output = exportData.str;
|
|
1119
|
+
|
|
1120
|
+
if ( info.title ) {
|
|
1121
|
+
output = info.title + newline + newline + output;
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
if ( info.messageTop ) {
|
|
1125
|
+
output = info.messageTop + newline + newline + output;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
if ( info.messageBottom ) {
|
|
1129
|
+
output = output + newline + newline + info.messageBottom;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
if ( config.customize ) {
|
|
1133
|
+
output = config.customize( output, config );
|
|
1134
|
+
}
|
|
1161
1135
|
|
|
1162
1136
|
flash.setAction( 'copy' );
|
|
1163
1137
|
_setText( flash, output );
|
|
@@ -1338,9 +1312,34 @@ DataTable.ext.buttons.excelFlash = $.extend( {}, flashButton, {
|
|
|
1338
1312
|
config.customizeData( data );
|
|
1339
1313
|
}
|
|
1340
1314
|
|
|
1315
|
+
var mergeCells = function ( row, colspan ) {
|
|
1316
|
+
var mergeCells = $('mergeCells', rels);
|
|
1317
|
+
|
|
1318
|
+
mergeCells[0].appendChild( _createNode( rels, 'mergeCell', {
|
|
1319
|
+
attr: {
|
|
1320
|
+
ref: 'A'+row+':'+createCellPos(colspan)+row
|
|
1321
|
+
}
|
|
1322
|
+
} ) );
|
|
1323
|
+
mergeCells.attr( 'count', mergeCells.attr( 'count' )+1 );
|
|
1324
|
+
$('row:eq('+(row-1)+') c', rels).attr( 's', '51' ); // centre
|
|
1325
|
+
};
|
|
1326
|
+
|
|
1327
|
+
// Title and top messages
|
|
1328
|
+
var exportInfo = dt.buttons.exportInfo( config );
|
|
1329
|
+
if ( exportInfo.title ) {
|
|
1330
|
+
addRow( [exportInfo.title], rowPos );
|
|
1331
|
+
mergeCells( rowPos, data.header.length-1 );
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
if ( exportInfo.messageTop ) {
|
|
1335
|
+
addRow( [exportInfo.messageTop], rowPos );
|
|
1336
|
+
mergeCells( rowPos, data.header.length-1 );
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
// Table itself
|
|
1341
1340
|
if ( config.header ) {
|
|
1342
1341
|
addRow( data.header, rowPos );
|
|
1343
|
-
$('row c', rels).attr( 's', '2' ); // bold
|
|
1342
|
+
$('row:last c', rels).attr( 's', '2' ); // bold
|
|
1344
1343
|
}
|
|
1345
1344
|
|
|
1346
1345
|
for ( var n=0, ie=data.body.length ; n<ie ; n++ ) {
|
|
@@ -1352,6 +1351,12 @@ DataTable.ext.buttons.excelFlash = $.extend( {}, flashButton, {
|
|
|
1352
1351
|
$('row:last c', rels).attr( 's', '2' ); // bold
|
|
1353
1352
|
}
|
|
1354
1353
|
|
|
1354
|
+
// Below the table
|
|
1355
|
+
if ( exportInfo.messageBottom ) {
|
|
1356
|
+
addRow( [exportInfo.messageBottom], rowPos );
|
|
1357
|
+
mergeCells( rowPos, data.header.length-1 );
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1355
1360
|
// Set column widths
|
|
1356
1361
|
var cols = _createNode( rels, 'cols' );
|
|
1357
1362
|
$('worksheet', rels).prepend( cols );
|
|
@@ -1375,7 +1380,7 @@ DataTable.ext.buttons.excelFlash = $.extend( {}, flashButton, {
|
|
|
1375
1380
|
_xlsxToStrings( xlsx );
|
|
1376
1381
|
|
|
1377
1382
|
flash.setAction( 'excel' );
|
|
1378
|
-
flash.setFileName(
|
|
1383
|
+
flash.setFileName( exportInfo.filename );
|
|
1379
1384
|
flash.setSheetData( xlsx );
|
|
1380
1385
|
_setText( flash, '' );
|
|
1381
1386
|
|
|
@@ -1401,6 +1406,7 @@ DataTable.ext.buttons.pdfFlash = $.extend( {}, flashButton, {
|
|
|
1401
1406
|
// Set the text
|
|
1402
1407
|
var flash = config._flash;
|
|
1403
1408
|
var data = dt.buttons.exportData( config.exportOptions );
|
|
1409
|
+
var info = dt.buttons.exportInfo( config );
|
|
1404
1410
|
var totalWidth = dt.table().node().offsetWidth;
|
|
1405
1411
|
|
|
1406
1412
|
// Calculate the column width ratios for layout of the table in the PDF
|
|
@@ -1409,17 +1415,18 @@ DataTable.ext.buttons.pdfFlash = $.extend( {}, flashButton, {
|
|
|
1409
1415
|
} );
|
|
1410
1416
|
|
|
1411
1417
|
flash.setAction( 'pdf' );
|
|
1412
|
-
flash.setFileName(
|
|
1418
|
+
flash.setFileName( info.filename );
|
|
1413
1419
|
|
|
1414
1420
|
_setText( flash, JSON.stringify( {
|
|
1415
|
-
title:
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1421
|
+
title: info.title || '',
|
|
1422
|
+
messageTop: info.messageTop || '',
|
|
1423
|
+
messageBottom: info.messageBottom || '',
|
|
1424
|
+
colWidth: ratios.toArray(),
|
|
1425
|
+
orientation: config.orientation,
|
|
1426
|
+
size: config.pageSize,
|
|
1427
|
+
header: config.header ? data.header : null,
|
|
1428
|
+
footer: config.footer ? data.footer : null,
|
|
1429
|
+
body: data.body
|
|
1423
1430
|
} ) );
|
|
1424
1431
|
|
|
1425
1432
|
this.processing( false );
|
|
@@ -1431,8 +1438,6 @@ DataTable.ext.buttons.pdfFlash = $.extend( {}, flashButton, {
|
|
|
1431
1438
|
|
|
1432
1439
|
pageSize: 'A4',
|
|
1433
1440
|
|
|
1434
|
-
message: '',
|
|
1435
|
-
|
|
1436
1441
|
newline: '\n'
|
|
1437
1442
|
} );
|
|
1438
1443
|
|