| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | /** * @author Homer Glascock <HopGlascock@gmail.com> * @version: v1.0.0 */ !function ($) {    "use strict";    var calculateObjectValue = $.fn.bootstrapTable.utils.calculateObjectValue,        sprintf = $.fn.bootstrapTable.utils.sprintf;    var copytext = function (text) {        var textField = document.createElement('textarea');        $(textField).html(text);        document.body.appendChild(textField);        textField.select();        try {            document.execCommand('copy');        }        catch (e) {            console.log("Oops, unable to copy");        }        $(textField).remove();    };    $.extend($.fn.bootstrapTable.defaults, {        copyBtn: false,        copyWHiddenBtn: false,        copyDelemeter: ", "    });    $.fn.bootstrapTable.methods.push('copyColumnsToClipboard', 'copyColumnsToClipboardWithHidden');    var BootstrapTable = $.fn.bootstrapTable.Constructor,        _initToolbar = BootstrapTable.prototype.initToolbar;    BootstrapTable.prototype.initToolbar = function () {        _initToolbar.apply(this, Array.prototype.slice.apply(arguments));        var that = this,            $btnGroup = this.$toolbar.find('>.btn-group');        if (this.options.clickToSelect || this.options.singleSelect) {            if (this.options.copyBtn) {                var copybtn = "<button class='btn btn-default' id='copyBtn'><span class='glyphicon glyphicon-copy icon-pencil'></span></button>";                $btnGroup.append(copybtn);                $btnGroup.find('#copyBtn').click(function () { that.copyColumnsToClipboard(); });            }            if (this.options.copyWHiddenBtn) {                var copyhiddenbtn = "<button class='btn btn-default' id='copyWHiddenBtn'><span class='badge'><span class='glyphicon glyphicon-copy icon-pencil'></span></span></button>";                $btnGroup.append(copyhiddenbtn);                $btnGroup.find('#copyWHiddenBtn').click(function () { that.copyColumnsToClipboardWithHidden(); });            }        }    };    BootstrapTable.prototype.copyColumnsToClipboard = function () {        var that = this,            ret = "",            delimet = this.options.copyDelemeter;        $.each(that.getSelections(), function (index, row) {            $.each(that.options.columns[0], function (indy, column) {                if (column.field !== "state" && column.field !== "RowNumber" && column.visible) {                    if (row[column.field] !== null) {                        ret += calculateObjectValue(column, that.header.formatters[indy], [row[column.field], row, index], row[column.field]);                    }                    ret += delimet;                }            });            ret += "\r\n";        });        copytext(ret);    };    BootstrapTable.prototype.copyColumnsToClipboardWithHidden = function () {        var that = this,            ret = "",            delimet = this.options.copyDelemeter;        $.each(that.getSelections(), function (index, row) {            $.each(that.options.columns[0], function (indy, column) {                if (column.field != "state" && column.field !== "RowNumber") {                    if (row[column.field] !== null) {                        ret += calculateObjectValue(column, that.header.formatters[indy], [row[column.field], row, index], row[column.field]);                    }                    ret += delimet;                }            });            ret += "\r\n";        });        copytext(ret);    };}(jQuery);
 |