summaryrefslogtreecommitdiffstats
path: root/debian/missing-sources/bootstrap-table-export-1.11.0.js
diff options
context:
space:
mode:
Diffstat (limited to 'debian/missing-sources/bootstrap-table-export-1.11.0.js')
-rw-r--r--debian/missing-sources/bootstrap-table-export-1.11.0.js121
1 files changed, 121 insertions, 0 deletions
diff --git a/debian/missing-sources/bootstrap-table-export-1.11.0.js b/debian/missing-sources/bootstrap-table-export-1.11.0.js
new file mode 100644
index 0000000..98b8f32
--- /dev/null
+++ b/debian/missing-sources/bootstrap-table-export-1.11.0.js
@@ -0,0 +1,121 @@
+/**
+ * @author zhixin wen <wenzhixin2010@gmail.com>
+ * extensions: https://github.com/kayalshri/tableExport.jquery.plugin
+ */
+
+(function ($) {
+ 'use strict';
+ var sprintf = $.fn.bootstrapTable.utils.sprintf;
+
+ var TYPE_NAME = {
+ json: 'JSON',
+ xml: 'XML',
+ png: 'PNG',
+ csv: 'CSV',
+ txt: 'TXT',
+ sql: 'SQL',
+ doc: 'MS-Word',
+ excel: 'MS-Excel',
+ powerpoint: 'MS-Powerpoint',
+ pdf: 'PDF'
+ };
+
+ $.extend($.fn.bootstrapTable.defaults, {
+ showExport: false,
+ exportDataType: 'basic', // basic, all, selected
+ // 'json', 'xml', 'png', 'csv', 'txt', 'sql', 'doc', 'excel', 'powerpoint', 'pdf'
+ exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
+ exportOptions: {}
+ });
+
+ $.extend($.fn.bootstrapTable.defaults.icons, {
+ export: 'glyphicon-export icon-share'
+ });
+
+ $.extend($.fn.bootstrapTable.locales, {
+ formatExport: function () {
+ return 'Export data';
+ }
+ });
+ $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales);
+
+ var BootstrapTable = $.fn.bootstrapTable.Constructor,
+ _initToolbar = BootstrapTable.prototype.initToolbar;
+
+ BootstrapTable.prototype.initToolbar = function () {
+ this.showToolbar = this.options.showExport;
+
+ _initToolbar.apply(this, Array.prototype.slice.apply(arguments));
+
+ if (this.options.showExport) {
+ var that = this,
+ $btnGroup = this.$toolbar.find('>.btn-group'),
+ $export = $btnGroup.find('div.export');
+
+ if (!$export.length) {
+ $export = $([
+ '<div class="export btn-group">',
+ '<button class="btn' +
+ sprintf(' btn-%s', this.options.buttonsClass) +
+ sprintf(' btn-%s', this.options.iconSize) +
+ ' dropdown-toggle" ' +
+ 'title="' + this.options.formatExport() + '" ' +
+ 'data-toggle="dropdown" type="button">',
+ sprintf('<i class="%s %s"></i> ', this.options.iconsPrefix, this.options.icons.export),
+ '<span class="caret"></span>',
+ '</button>',
+ '<ul class="dropdown-menu" role="menu">',
+ '</ul>',
+ '</div>'].join('')).appendTo($btnGroup);
+
+ var $menu = $export.find('.dropdown-menu'),
+ exportTypes = this.options.exportTypes;
+
+ if (typeof this.options.exportTypes === 'string') {
+ var types = this.options.exportTypes.slice(1, -1).replace(/ /g, '').split(',');
+
+ exportTypes = [];
+ $.each(types, function (i, value) {
+ exportTypes.push(value.slice(1, -1));
+ });
+ }
+ $.each(exportTypes, function (i, type) {
+ if (TYPE_NAME.hasOwnProperty(type)) {
+ $menu.append(['<li data-type="' + type + '">',
+ '<a href="javascript:void(0)">',
+ TYPE_NAME[type],
+ '</a>',
+ '</li>'].join(''));
+ }
+ });
+
+ $menu.find('li').click(function () {
+ var type = $(this).data('type'),
+ doExport = function () {
+ that.$el.tableExport($.extend({}, that.options.exportOptions, {
+ type: type,
+ escape: false
+ }));
+ };
+
+ if (that.options.exportDataType === 'all' && that.options.pagination) {
+ that.$el.one(that.options.sidePagination === 'server' ? 'post-body.bs.table' : 'page-change.bs.table', function () {
+ doExport();
+ that.togglePagination();
+ });
+ that.togglePagination();
+ } else if (that.options.exportDataType === 'selected') {
+ var data = that.getData(),
+ selectedData = that.getAllSelections();
+
+ that.load(selectedData);
+ doExport();
+ that.load(data);
+ } else {
+ doExport();
+ }
+ });
+ }
+ }
+ };
+})(jQuery);