5 changed files with 75 additions and 20 deletions
@ -0,0 +1,69 @@ |
|||
/** |
|||
* @author: Dennis Hernández |
|||
* @webSite: http://djhvscf.github.io/Blog
|
|||
* @version: v2.0.0 |
|||
*/ |
|||
|
|||
const isInit = that => that.$el.data('resizableColumns') !== undefined |
|||
|
|||
const initResizable = that => { |
|||
if ( |
|||
that.options.resizable && |
|||
!that.options.cardView && |
|||
!isInit(that) && |
|||
that.$el.is(':visible') |
|||
) { |
|||
that.$el.resizableColumns({ |
|||
store: window.store |
|||
}) |
|||
} |
|||
} |
|||
|
|||
const destroy = that => { |
|||
if (isInit(that)) { |
|||
that.$el.data('resizableColumns').destroy() |
|||
} |
|||
} |
|||
|
|||
const reInitResizable = that => { |
|||
destroy(that) |
|||
initResizable(that) |
|||
} |
|||
|
|||
$.extend($.fn.bootstrapTable.defaults, { |
|||
resizable: false |
|||
}) |
|||
|
|||
$.BootstrapTable = class extends $.BootstrapTable { |
|||
|
|||
initBody (...args) { |
|||
super.initBody(...args) |
|||
|
|||
this.$el.off('column-switch.bs.table page-change.bs.table') |
|||
.on('column-switch.bs.table page-change.bs.table', () => { |
|||
reInitResizable(this) |
|||
}) |
|||
|
|||
reInitResizable(this) |
|||
} |
|||
|
|||
toggleView (...args) { |
|||
super.toggleView(...args) |
|||
|
|||
if (this.options.resizable && this.options.cardView) { |
|||
// Destroy the plugin
|
|||
destroy(this) |
|||
} |
|||
} |
|||
|
|||
resetView (...args) { |
|||
super.resetView(...args) |
|||
|
|||
if (this.options.resizable) { |
|||
// because in fitHeader function, we use setTimeout(func, 100);
|
|||
setTimeout(() => { |
|||
initResizable(this) |
|||
}, 100) |
|||
} |
|||
} |
|||
} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue