bootstrap-table-rails 1.12.2 → 1.13.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -12
  3. data/lib/bootstrap-table-rails/version.rb +1 -1
  4. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table-locale-all.js +2534 -1841
  5. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.css +202 -283
  6. data/vendor/assets/javascripts/bootstrap-table/bootstrap-table.js +3114 -2555
  7. data/vendor/assets/javascripts/bootstrap-table/extensions/accent-neutralise/bootstrap-table-accent-neutralise.js +247 -152
  8. data/vendor/assets/javascripts/bootstrap-table/extensions/addrbar/bootstrap-table-addrbar.js +271 -0
  9. data/vendor/assets/javascripts/bootstrap-table/extensions/auto-refresh/bootstrap-table-auto-refresh.js +77 -68
  10. data/vendor/assets/javascripts/bootstrap-table/extensions/cookie/bootstrap-table-cookie.js +452 -315
  11. data/vendor/assets/javascripts/bootstrap-table/extensions/copy-rows/bootstrap-table-copy-rows.js +105 -86
  12. data/vendor/assets/javascripts/bootstrap-table/extensions/defer-url/bootstrap-table-defer-url.js +44 -27
  13. data/vendor/assets/javascripts/bootstrap-table/extensions/editable/bootstrap-table-editable.js +229 -115
  14. data/vendor/assets/javascripts/bootstrap-table/extensions/export/bootstrap-table-export.js +319 -162
  15. data/vendor/assets/javascripts/bootstrap-table/extensions/filter-control/bootstrap-table-filter-control.js +733 -566
  16. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by-v2/bootstrap-table-group-by.js +175 -167
  17. data/vendor/assets/javascripts/bootstrap-table/extensions/group-by/bootstrap-table-group-by.js +227 -213
  18. data/vendor/assets/javascripts/bootstrap-table/extensions/i18n-enhance/bootstrap-table-i18n-enhance.js +44 -29
  19. data/vendor/assets/javascripts/bootstrap-table/extensions/key-events/bootstrap-table-key-events.js +92 -70
  20. data/vendor/assets/javascripts/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js +134 -118
  21. data/vendor/assets/javascripts/bootstrap-table/extensions/multi-column-toggle/bootstrap-table-multi-toggle.js +92 -75
  22. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-search/bootstrap-table-multiple-search.js +72 -58
  23. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-selection-row/bootstrap-table-multiple-selection-row.js +129 -113
  24. data/vendor/assets/javascripts/bootstrap-table/extensions/multiple-sort/bootstrap-table-multiple-sort.js +362 -349
  25. data/vendor/assets/javascripts/bootstrap-table/extensions/natural-sorting/bootstrap-table-natural-sorting.js +66 -50
  26. data/vendor/assets/javascripts/bootstrap-table/extensions/{page-jumpto/bootstrap-table-jumpto.css → page-jump-to/bootstrap-table-page-jump-to.css} +0 -0
  27. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jump-to/bootstrap-table-page-jump-to.js +58 -0
  28. data/vendor/assets/javascripts/bootstrap-table/extensions/pipeline/bootstrap-table-pipeline.js +341 -0
  29. data/vendor/assets/javascripts/bootstrap-table/extensions/print/bootstrap-table-print.js +122 -126
  30. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-columns/bootstrap-table-reorder-columns.js +183 -167
  31. data/vendor/assets/javascripts/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js +124 -110
  32. data/vendor/assets/javascripts/bootstrap-table/extensions/resizable/bootstrap-table-resizable.js +66 -55
  33. data/vendor/assets/javascripts/bootstrap-table/extensions/select2-filter/bootstrap-table-select2-filter.js +281 -272
  34. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.css +13 -13
  35. data/vendor/assets/javascripts/bootstrap-table/extensions/sticky-header/bootstrap-table-sticky-header.js +182 -106
  36. data/vendor/assets/javascripts/bootstrap-table/extensions/toolbar/bootstrap-table-toolbar.js +324 -162
  37. data/vendor/assets/javascripts/bootstrap-table/extensions/tree-column/bootstrap-table-tree-column.js +127 -115
  38. data/vendor/assets/javascripts/bootstrap-table/extensions/treegrid/bootstrap-table-treegrid.js +106 -96
  39. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-af-ZA.js +48 -35
  40. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ar-SA.js +49 -35
  41. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ca-ES.js +52 -39
  42. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-cs-CZ.js +52 -39
  43. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-da-DK.js +60 -32
  44. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-de-DE.js +61 -48
  45. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-el-GR.js +36 -23
  46. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-en-US.js +57 -44
  47. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-AR.js +39 -26
  48. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CL.js +54 -41
  49. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-CR.js +48 -35
  50. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-ES.js +103 -38
  51. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-MX.js +59 -46
  52. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-NI.js +48 -35
  53. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-es-SP.js +49 -36
  54. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-et-EE.js +51 -38
  55. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-eu-EU.js +51 -38
  56. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fa-IR.js +51 -38
  57. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fi-FI.js +62 -0
  58. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-BE.js +36 -23
  59. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-fr-FR.js +103 -90
  60. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-he-IL.js +51 -38
  61. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hr-HR.js +52 -39
  62. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-hu-HU.js +51 -38
  63. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-id-ID.js +57 -44
  64. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-it-IT.js +59 -47
  65. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ja-JP.js +51 -38
  66. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ka-GE.js +49 -36
  67. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ko-KR.js +45 -32
  68. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ms-MY.js +51 -38
  69. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nb-NO.js +45 -32
  70. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-nl-NL.js +60 -47
  71. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pl-PL.js +45 -32
  72. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-BR.js +49 -36
  73. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-pt-PT.js +51 -38
  74. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ro-RO.js +51 -38
  75. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ru-RU.js +82 -68
  76. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sk-SK.js +57 -44
  77. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-sv-SE.js +45 -32
  78. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-th-TH.js +45 -32
  79. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-tr-TR.js +49 -36
  80. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uk-UA.js +82 -69
  81. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-ur-PK.js +45 -32
  82. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-uz-Latn-UZ.js +57 -44
  83. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-vi-VN.js +36 -23
  84. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-CN.js +54 -41
  85. data/vendor/assets/javascripts/bootstrap-table/locale/bootstrap-table-zh-TW.js +48 -35
  86. metadata +6 -8
  87. data/vendor/assets/javascripts/bootstrap-table/extensions/angular/bootstrap-table-angular.js +0 -107
  88. data/vendor/assets/javascripts/bootstrap-table/extensions/click-edit-row/bootstrap-table-click-edit-row.css +0 -21
  89. data/vendor/assets/javascripts/bootstrap-table/extensions/click-edit-row/bootstrap-table-click-edit-row.js +0 -142
  90. data/vendor/assets/javascripts/bootstrap-table/extensions/filter/bootstrap-table-filter.js +0 -67
  91. data/vendor/assets/javascripts/bootstrap-table/extensions/flat-json/bootstrap-table-flat-json.js +0 -62
  92. data/vendor/assets/javascripts/bootstrap-table/extensions/page-jumpto/bootstrap-table-jumpto.js +0 -50
@@ -1,179 +1,336 @@
1
- /**
2
- * @author zhixin wen <wenzhixin2010@gmail.com>
3
- * extensions: https://github.com/kayalshri/tableExport.jquery.plugin
4
- */
1
+ (function (global, factory) {
2
+ if (typeof define === "function" && define.amd) {
3
+ define([], factory);
4
+ } else if (typeof exports !== "undefined") {
5
+ factory();
6
+ } else {
7
+ var mod = {
8
+ exports: {}
9
+ };
10
+ factory();
11
+ global.bootstrapTableExport = mod.exports;
12
+ }
13
+ })(this, function () {
14
+ 'use strict';
15
+
16
+ function _defineProperty(obj, key, value) {
17
+ if (key in obj) {
18
+ Object.defineProperty(obj, key, {
19
+ value: value,
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true
23
+ });
24
+ } else {
25
+ obj[key] = value;
26
+ }
27
+
28
+ return obj;
29
+ }
30
+
31
+ function _classCallCheck(instance, Constructor) {
32
+ if (!(instance instanceof Constructor)) {
33
+ throw new TypeError("Cannot call a class as a function");
34
+ }
35
+ }
36
+
37
+ var _createClass = function () {
38
+ function defineProperties(target, props) {
39
+ for (var i = 0; i < props.length; i++) {
40
+ var descriptor = props[i];
41
+ descriptor.enumerable = descriptor.enumerable || false;
42
+ descriptor.configurable = true;
43
+ if ("value" in descriptor) descriptor.writable = true;
44
+ Object.defineProperty(target, descriptor.key, descriptor);
45
+ }
46
+ }
47
+
48
+ return function (Constructor, protoProps, staticProps) {
49
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
50
+ if (staticProps) defineProperties(Constructor, staticProps);
51
+ return Constructor;
52
+ };
53
+ }();
54
+
55
+ function _possibleConstructorReturn(self, call) {
56
+ if (!self) {
57
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
58
+ }
59
+
60
+ return call && (typeof call === "object" || typeof call === "function") ? call : self;
61
+ }
62
+
63
+ var _get = function get(object, property, receiver) {
64
+ if (object === null) object = Function.prototype;
65
+ var desc = Object.getOwnPropertyDescriptor(object, property);
66
+
67
+ if (desc === undefined) {
68
+ var parent = Object.getPrototypeOf(object);
69
+
70
+ if (parent === null) {
71
+ return undefined;
72
+ } else {
73
+ return get(parent, property, receiver);
74
+ }
75
+ } else if ("value" in desc) {
76
+ return desc.value;
77
+ } else {
78
+ var getter = desc.get;
79
+
80
+ if (getter === undefined) {
81
+ return undefined;
82
+ }
83
+
84
+ return getter.call(receiver);
85
+ }
86
+ };
87
+
88
+ function _inherits(subClass, superClass) {
89
+ if (typeof superClass !== "function" && superClass !== null) {
90
+ throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
91
+ }
5
92
 
6
- (function ($) {
7
- 'use strict';
8
- var sprintf = $.fn.bootstrapTable.utils.sprintf;
93
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
94
+ constructor: {
95
+ value: subClass,
96
+ enumerable: false,
97
+ writable: true,
98
+ configurable: true
99
+ }
100
+ });
101
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
102
+ }
103
+
104
+ /**
105
+ * @author zhixin wen <wenzhixin2010@gmail.com>
106
+ * extensions: https://github.com/hhurz/tableExport.jquery.plugin
107
+ */
108
+
109
+ (function ($) {
110
+ var Utils = $.fn.bootstrapTable.utils;
111
+
112
+ var bootstrap = {
113
+ 3: {
114
+ icons: {
115
+ export: 'glyphicon-export icon-share'
116
+ },
117
+ html: {
118
+ dropmenu: '<ul class="dropdown-menu" role="menu"></ul>',
119
+ dropitem: '<li role="menuitem" data-type="%s"><a href="javascript:">%s</a></li>'
120
+ }
121
+ },
122
+ 4: {
123
+ icons: {
124
+ export: 'fa-download'
125
+ },
126
+ html: {
127
+ dropmenu: '<div class="dropdown-menu dropdown-menu-right"></div>',
128
+ dropitem: '<a class="dropdown-item" data-type="%s" href="javascript:">%s</a>'
129
+ }
130
+ }
131
+ }[Utils.bootstrapVersion];
9
132
 
10
133
  var TYPE_NAME = {
11
- json: 'JSON',
12
- xml: 'XML',
13
- png: 'PNG',
14
- csv: 'CSV',
15
- txt: 'TXT',
16
- sql: 'SQL',
17
- doc: 'MS-Word',
18
- excel: 'MS-Excel',
19
- xlsx: 'MS-Excel (OpenXML)',
20
- powerpoint: 'MS-Powerpoint',
21
- pdf: 'PDF'
134
+ json: 'JSON',
135
+ xml: 'XML',
136
+ png: 'PNG',
137
+ csv: 'CSV',
138
+ txt: 'TXT',
139
+ sql: 'SQL',
140
+ doc: 'MS-Word',
141
+ excel: 'MS-Excel',
142
+ xlsx: 'MS-Excel (OpenXML)',
143
+ powerpoint: 'MS-Powerpoint',
144
+ pdf: 'PDF'
22
145
  };
23
146
 
24
147
  $.extend($.fn.bootstrapTable.defaults, {
25
- showExport: false,
26
- exportDataType: 'basic', // basic, all, selected
27
- // 'json', 'xml', 'png', 'csv', 'txt', 'sql', 'doc', 'excel', 'powerpoint', 'pdf'
28
- exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
29
- exportOptions: {}
148
+ showExport: false,
149
+ exportDataType: 'basic', // basic, all, selected
150
+ exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
151
+ exportOptions: {},
152
+ exportFooter: false
30
153
  });
31
154
 
32
155
  $.extend($.fn.bootstrapTable.defaults.icons, {
33
- export: 'glyphicon-export icon-share'
156
+ export: bootstrap.icons.export
34
157
  });
35
158
 
36
159
  $.extend($.fn.bootstrapTable.locales, {
37
- formatExport: function () {
38
- return 'Export data';
39
- }
160
+ formatExport: function formatExport() {
161
+ return 'Export data';
162
+ }
40
163
  });
41
164
  $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
42
165
 
43
- var BootstrapTable = $.fn.bootstrapTable.Constructor,
44
- _initToolbar = BootstrapTable.prototype.initToolbar;
45
-
46
- BootstrapTable.prototype.initToolbar = function () {
47
- this.showToolbar = this.showToolbar || this.options.showExport;
48
-
49
- _initToolbar.apply(this, Array.prototype.slice.apply(arguments));
50
-
51
- if (this.options.showExport) {
52
- var that = this,
53
- $btnGroup = this.$toolbar.find('>.btn-group'),
54
- $export = $btnGroup.find('div.export');
55
-
56
- if (!$export.length) {
57
- $export = $([
58
- '<div class="export btn-group">',
59
- '<button class="btn' +
60
- sprintf(' btn-%s', this.options.buttonsClass) +
61
- sprintf(' btn-%s', this.options.iconSize) +
62
- ' dropdown-toggle" aria-label="export type" ' +
63
- 'title="' + this.options.formatExport() + '" ' +
64
- 'data-toggle="dropdown" type="button">',
65
- sprintf('<i class="%s %s"></i> ', this.options.iconsPrefix, this.options.icons.export),
66
- '<span class="caret"></span>',
67
- '</button>',
68
- '<ul class="dropdown-menu" role="menu">',
69
- '</ul>',
70
- '</div>'].join('')).appendTo($btnGroup);
71
-
72
- var $menu = $export.find('.dropdown-menu'),
73
- exportTypes = this.options.exportTypes;
74
-
75
- if (typeof this.options.exportTypes === 'string') {
76
- var types = this.options.exportTypes.slice(1, -1).replace(/ /g, '').split(',');
77
-
78
- exportTypes = [];
79
- $.each(types, function (i, value) {
80
- exportTypes.push(value.slice(1, -1));
81
- });
82
- }
83
- $.each(exportTypes, function (i, type) {
84
- if (TYPE_NAME.hasOwnProperty(type)) {
85
- $menu.append(['<li role="menuitem" data-type="' + type + '">',
86
- '<a href="javascript:void(0)">',
87
- TYPE_NAME[type],
88
- '</a>',
89
- '</li>'].join(''));
90
- }
91
- });
92
-
93
- $menu.find('li').click(function () {
94
- var type = $(this).data('type'),
95
- doExport = function () {
96
-
97
- if (!!that.options.exportFooter) {
98
- var data = that.getData();
99
- var $footerRow = that.$tableFooter.find("tr").first();
100
-
101
- var footerData = { };
102
- var footerHtml = [];
103
-
104
- $.each($footerRow.children(), function (index, footerCell) {
105
-
106
- var footerCellHtml = $(footerCell).children(".th-inner").first().html();
107
- footerData[that.columns[index].field] = footerCellHtml == '&nbsp;' ? null : footerCellHtml;
108
-
109
- // grab footer cell text into cell index-based array
110
- footerHtml.push(footerCellHtml);
111
- });
112
-
113
- that.append(footerData);
114
-
115
- var $lastTableRow = that.$body.children().last();
116
-
117
- $.each($lastTableRow.children(), function (index, lastTableRowCell) {
118
-
119
- $(lastTableRowCell).html(footerHtml[index]);
120
- });
121
- }
122
-
123
- that.$el.tableExport($.extend({}, that.options.exportOptions, {
124
- type: type,
125
- escape: false
126
- }));
127
-
128
- if (!!that.options.exportFooter) {
129
- that.load(data);
130
- }
131
- };
132
-
133
- var stateField = that.header.stateField;
134
-
135
- if (that.options.exportDataType === 'all' && that.options.pagination) {
136
- that.$el.one(that.options.sidePagination === 'server' ? 'post-body.bs.table' : 'page-change.bs.table', function () {
137
- if (stateField) {
138
- that.hideColumn(stateField);
139
- }
140
- doExport();
141
- that.togglePagination();
142
- });
143
- that.togglePagination();
144
- } else if (that.options.exportDataType === 'selected') {
145
- var data = that.getData(),
146
- selectedData = that.getSelections();
147
- if (!selectedData.length) {
148
- return;
149
- }
150
-
151
- if (that.options.sidePagination === 'server') {
152
- var dataServer = {total: that.options.totalRows};
153
- dataServer[that.options.dataField] = data;
154
- data = dataServer;
155
- var selectedDataServer = {total: selectedData.length};
156
- selectedDataServer[that.options.dataField] = selectedData;
157
- selectedData = selectedDataServer;
158
- }
159
-
160
- that.load(selectedData);
161
- if (stateField) {
162
- that.hideColumn(stateField);
163
- }
164
- doExport();
165
- that.load(data);
166
- } else {
167
- if (stateField) {
168
- that.hideColumn(stateField);
169
- }
170
- doExport();
171
- }
172
- if (stateField) {
173
- that.showColumn(stateField);
174
- }
175
- });
166
+ $.fn.bootstrapTable.methods.push('exportTable');
167
+
168
+ $.BootstrapTable = function (_$$BootstrapTable) {
169
+ _inherits(_class, _$$BootstrapTable);
170
+
171
+ function _class() {
172
+ _classCallCheck(this, _class);
173
+
174
+ return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));
175
+ }
176
+
177
+ _createClass(_class, [{
178
+ key: 'initToolbar',
179
+ value: function initToolbar() {
180
+ var _this2 = this;
181
+
182
+ var o = this.options;
183
+
184
+ this.showToolbar = this.showToolbar || o.showExport;
185
+
186
+ _get(_class.prototype.__proto__ || Object.getPrototypeOf(_class.prototype), 'initToolbar', this).call(this);
187
+
188
+ if (!this.options.showExport) {
189
+ return;
190
+ }
191
+ var $btnGroup = this.$toolbar.find('>.btn-group');
192
+ var $export = $btnGroup.find('div.export');
193
+
194
+ if ($export.length) {
195
+ return;
196
+ }
197
+ $export = $('\n <div class="export btn-group">\n <button class="btn btn-' + o.buttonsClass + ' btn-' + o.iconSize + ' dropdown-toggle"\n aria-label="export type"\n title="' + o.formatExport() + '"\n data-toggle="dropdown"\n type="button">\n <i class="' + o.iconsPrefix + ' ' + o.icons.export + '"></i>\n <span class="caret"></span>\n </button>\n ' + bootstrap.html.dropmenu + '\n </div>\n ').appendTo($btnGroup);
198
+
199
+ var $menu = $export.find('.dropdown-menu');
200
+ var exportTypes = o.exportTypes;
201
+
202
+ if (typeof exportTypes === 'string') {
203
+ var types = exportTypes.slice(1, -1).replace(/ /g, '').split(',');
204
+ exportTypes = types.map(function (t) {
205
+ return t.slice(1, -1);
206
+ });
207
+ }
208
+ var _iteratorNormalCompletion = true;
209
+ var _didIteratorError = false;
210
+ var _iteratorError = undefined;
211
+
212
+ try {
213
+ for (var _iterator = exportTypes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
214
+ var type = _step.value;
215
+
216
+ if (TYPE_NAME.hasOwnProperty(type)) {
217
+ $menu.append(Utils.sprintf(bootstrap.html.dropitem, type, TYPE_NAME[type]));
218
+ }
219
+ }
220
+ } catch (err) {
221
+ _didIteratorError = true;
222
+ _iteratorError = err;
223
+ } finally {
224
+ try {
225
+ if (!_iteratorNormalCompletion && _iterator.return) {
226
+ _iterator.return();
227
+ }
228
+ } finally {
229
+ if (_didIteratorError) {
230
+ throw _iteratorError;
231
+ }
176
232
  }
233
+ }
234
+
235
+ $menu.find('>li, >a').click(function (_ref) {
236
+ var currentTarget = _ref.currentTarget;
237
+
238
+ var type = $(currentTarget).data('type');
239
+ var exportOptions = {
240
+ type: type,
241
+ escape: false
242
+ };
243
+
244
+ _this2.exportTable(exportOptions);
245
+ });
177
246
  }
178
- };
179
- })(jQuery);
247
+ }, {
248
+ key: 'exportTable',
249
+ value: function exportTable(options) {
250
+ var _this3 = this;
251
+
252
+ var o = this.options;
253
+
254
+ var doExport = function doExport() {
255
+ var that = _this3;
256
+ var data = _this3.getData();
257
+ if (o.exportFooter) {
258
+ var $footerRow = _this3.$tableFooter.find('tr').first();
259
+ var footerData = {};
260
+ var footerHtml = [];
261
+
262
+ $.each($footerRow.children(), function (index, footerCell) {
263
+ var footerCellHtml = $(footerCell).children('.th-inner').first().html();
264
+ footerData[that.columns[index].field] = footerCellHtml === '&nbsp;' ? null : footerCellHtml;
265
+
266
+ // grab footer cell text into cell index-based array
267
+ footerHtml.push(footerCellHtml);
268
+ });
269
+
270
+ _this3.append(footerData);
271
+
272
+ var $lastTableRow = _this3.$body.children().last();
273
+
274
+ $.each($lastTableRow.children(), function (index, lastTableRowCell) {
275
+ $(lastTableRowCell).html(footerHtml[index]);
276
+ });
277
+ }
278
+
279
+ _this3.$el.tableExport($.extend({}, o.exportOptions, options));
280
+
281
+ if (o.exportFooter) {
282
+ _this3.load(data);
283
+ }
284
+ };
285
+
286
+ var stateField = this.header.stateField;
287
+ var isCardView = o.cardView;
288
+
289
+ if (stateField) {
290
+ this.hideColumn(stateField);
291
+ }
292
+ if (isCardView) {
293
+ this.toggleView();
294
+ }
295
+ if (o.exportDataType === 'all' && o.pagination) {
296
+ var eventName = o.sidePagination === 'server' ? 'post-body.bs.table' : 'page-change.bs.table';
297
+ this.$el.one(eventName, function () {
298
+ doExport();
299
+ _this3.togglePagination();
300
+ });
301
+ this.togglePagination();
302
+ } else if (o.exportDataType === 'selected') {
303
+ var data = this.getData();
304
+ var selectedData = this.getSelections();
305
+ if (!selectedData.length) {
306
+ return;
307
+ }
308
+
309
+ if (o.sidePagination === 'server') {
310
+ data = _defineProperty({
311
+ total: o.totalRows
312
+ }, this.options.dataField, data);
313
+ selectedData = _defineProperty({
314
+ total: selectedData.length
315
+ }, this.options.dataField, selectedData);
316
+ }
317
+
318
+ this.load(selectedData);
319
+ doExport();
320
+ this.load(data);
321
+ } else {
322
+ doExport();
323
+ }
324
+ if (stateField) {
325
+ this.showColumn(stateField);
326
+ }
327
+ if (isCardView) {
328
+ this.toggleView();
329
+ }
330
+ }
331
+ }]);
332
+
333
+ return _class;
334
+ }($.BootstrapTable);
335
+ })(jQuery);
336
+ });