<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
<table id="table"
data-show-columns="true"
data-search="true"
data-show-toggle="true"
data-pagination="true"
data-resizable="true"
data-height="500"
>
<thead>
<tr>
<th data-field="id" data-sortable="true">ID</th>
<th data-field="name" data-sortable="false">Item Name</th>
<th data-field="price" data-sortable="false">Item Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Item Name 1</td>
<td>1000 USD</td>
</tr>
<tr>
<td>2</td>
<td>Item Name 2</td>
<td>1000 USD</td>
</tr>
<tr>
<td>3</td>
<td>Item Name 3</td>
<td>1000 USD</td>
</tr>
<tr>
<td>4</td>
<td>Item Name 4</td>
<td>1000 USD</td>
</tr>
<tr>
<td>5</td>
<td>Item Name 5</td>
<td>1000 USD</td>
</tr>
</tbody>
</table>
// Bootstap table, with resizable extension. Made to show and hopefully fix issue where TH column drag handle not supported when data-height is set. See https://github.com/wenzhixin/bootstrap-table/issues/1944
$(function () {
$('#table').bootstrapTable({
});
});
/**
* @author: Dennis Hernández
* @webSite: http://djhvscf.github.io/Blog
* @version: v1.0.0
*/
(function ($) {
'use strict';
var initResizable = function (that) {
//Deletes the plugin to re-create it
that.$el.colResizable({disable: true});
//Creates the plugin
that.$el.colResizable({
liveDrag: that.options.liveDrag,
fixed: that.options.fixed,
headerOnly: that.options.headerOnly,
minWidth: that.options.minWidth,
hoverCursor: that.options.hoverCursor,
dragCursor: that.options.dragCursor,
onResize: that.onResize,
onDrag: that.options.onResizableDrag
});
};
$.extend($.fn.bootstrapTable.defaults, {
resizable: false,
liveDrag: false,
fixed: true,
headerOnly: false,
minWidth: 15,
hoverCursor: 'e-resize',
dragCursor: 'e-resize',
onResizableResize: function (e) {
return false;
},
onResizableDrag: function (e) {
return false;
}
});
var BootstrapTable = $.fn.bootstrapTable.Constructor,
_toggleView = BootstrapTable.prototype.toggleView,
_resetView = BootstrapTable.prototype.resetView;
BootstrapTable.prototype.toggleView = function () {
_toggleView.apply(this, Array.prototype.slice.apply(arguments));
if (this.options.resizable && this.options.cardView) {
//Deletes the plugin
$(this.$el).colResizable({disable: true});
}
};
BootstrapTable.prototype.resetView = function () {
var that = this;
_resetView.apply(this, Array.prototype.slice.apply(arguments));
if (this.options.resizable) {
// because in fitHeader function, we use setTimeout(func, 100);
setTimeout(function () {
initResizable(that);
}, 100);
}
};
BootstrapTable.prototype.onResize = function (e) {
var that = $(e.currentTarget);
that.bootstrapTable('resetView');
that.data('bootstrap.table').options.onResizableResize.apply(e);
}
})(jQuery);