/pack-rat/003_pack_rat/pack-rat/node_modules/bootstrap-table/docs/dist/extensions/copy-rows/bootstrap-table-copy-rows.js |
@@ -0,0 +1,102 @@ |
/** |
* @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); |