| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | 
							- /**
 
-  * @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',
 
-         xlsx: 'MS-Excel (OpenXML)',
 
-         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" aria-label="export type" ' +
 
-                             '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 role="menuitem" 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();
 
-                         // Quick fix #2220
 
-                         if (that.options.sidePagination === 'server') {
 
-                             data = {total: that.options.totalRows};
 
-                             data[that.options.dataField] = that.getData();
 
-                             var Table = typeof require === 'function' ? require('table') : null;
 
-                             selectedData = {total: that.options.totalRows};
 
-                             selectedData[that.options.dataField] = Table && that.options.maintainSelected ? Table.api.selecteddata(that.$el) : that.getAllSelections();
 
-                         }
 
-                         that.load(selectedData);
 
-                         doExport();
 
-                         that.load(data);
 
-                     } else {
 
-                         doExport();
 
-                     }
 
-                 });
 
-             }
 
-         }
 
-     };
 
- })(jQuery);
 
 
  |