bootstrap-table
Version:
An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
1 lines • 1.64 kB
JavaScript
(function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t(require(`vue`)):typeof define==`function`&&define.amd?define([`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,e.BootstrapTable=t(e.Vue))})(this,function(e){var t=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},n=window.jQuery,r=e=>e===void 0?e:n.fn.bootstrapTable.utils.extend(!0,Array.isArray(e)?[]:{},e),i={name:`BootstrapTable`,props:{columns:{type:Array,require:!0},data:{type:[Array,Object],default(){}},options:{type:Object,default(){return{}}}},data(){return{optionsChangedIdx:0}},mounted(){this.$table=n(this.$el),this.$table.on(`all.bs.table`,(e,t,r)=>{let i=n.fn.bootstrapTable.events[t];i=i.replace(/([A-Z])/g,`-$1`).toLowerCase(),this.$emit(`on-all`,...r),this.$emit(i,...r)}),this._initTable()},beforeUnmount(){this.$table.bootstrapTable(`destroy`)},methods:{_initTable(){this._bindMethods();let e={...r(this.options),columns:r(this.columns),data:r(this.data)};this._hasInit?this.refreshOptions(e):(this.$table.bootstrapTable(e),this._hasInit=!0)},refreshOptions(...e){return this.$table.bootstrapTable(`refreshOptions`,...e)},load(...e){return this.$table.bootstrapTable(`load`,...e)},_bindMethods(){for(let e of n.fn.bootstrapTable.methods||[])this[e]||(this[e]=(...t)=>this.$table.bootstrapTable(e,...t))}},watch:{options:{handler(){this.optionsChangedIdx++},deep:!0},columns:{handler(){this.optionsChangedIdx++},deep:!0},optionsChangedIdx(){this._initTable()},data:{handler(){this.load(r(this.data))},deep:!0}}};function a(t,n,r,i,a,o){return(0,e.openBlock)(),(0,e.createElementBlock)(`table`)}return t(i,[[`render`,a]])});