vue-bulma-table
Version:
Vue DataTable with Bulma style
1 lines • 12.6 kB
JavaScript
module.exports=function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(a,n,function(t){return e[t]}.bind(null,n));return a},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=10)}([function(e,t,r){var a=r(6);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,r(3).default)("4afb5120",a,!0,{})},function(e,t){e.exports=require("lodash")},function(e,t){e.exports=require("vue-awesome/components/Icon")},function(e,t,r){"use strict";function a(e,t){for(var r=[],a={},n=0;n<t.length;n++){var i=t[n],s=i[0],o={id:e+":"+n,css:i[1],media:i[2],sourceMap:i[3]};a[s]?a[s].parts.push(o):r.push(a[s]={id:s,parts:[o]})}return r}r.r(t),r.d(t,"default",function(){return h});var n="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!n)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var i={},s=n&&(document.head||document.getElementsByTagName("head")[0]),o=null,l=0,c=!1,u=function(){},f=null,d="data-vue-ssr-id",p="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function h(e,t,r,n){c=r,f=n||{};var s=a(e,t);return g(s),function(t){for(var r=[],n=0;n<s.length;n++){var o=s[n];(l=i[o.id]).refs--,r.push(l)}t?g(s=a(e,t)):s=[];for(n=0;n<r.length;n++){var l;if(0===(l=r[n]).refs){for(var c=0;c<l.parts.length;c++)l.parts[c]();delete i[l.id]}}}}function g(e){for(var t=0;t<e.length;t++){var r=e[t],a=i[r.id];if(a){a.refs++;for(var n=0;n<a.parts.length;n++)a.parts[n](r.parts[n]);for(;n<r.parts.length;n++)a.parts.push(m(r.parts[n]));a.parts.length>r.parts.length&&(a.parts.length=r.parts.length)}else{var s=[];for(n=0;n<r.parts.length;n++)s.push(m(r.parts[n]));i[r.id]={id:r.id,refs:1,parts:s}}}}function v(){var e=document.createElement("style");return e.type="text/css",s.appendChild(e),e}function m(e){var t,r,a=document.querySelector("style["+d+'~="'+e.id+'"]');if(a){if(c)return u;a.parentNode.removeChild(a)}if(p){var n=l++;a=o||(o=v()),t=y.bind(null,a,n,!1),r=y.bind(null,a,n,!0)}else a=v(),t=function(e,t){var r=t.css,a=t.media,n=t.sourceMap;a&&e.setAttribute("media",a);f.ssrId&&e.setAttribute(d,t.id);n&&(r+="\n/*# sourceURL="+n.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */");if(e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}.bind(null,a),r=function(){a.parentNode.removeChild(a)};return t(e),function(a){if(a){if(a.css===e.css&&a.media===e.media&&a.sourceMap===e.sourceMap)return;t(e=a)}else r()}}var _,b=(_=[],function(e,t){return _[e]=t,_.filter(Boolean).join("\n")});function y(e,t,r,a){var n=r?"":a.css;if(e.styleSheet)e.styleSheet.cssText=b(t,n);else{var i=document.createTextNode(n),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(i,s[t]):e.appendChild(i)}}},function(e,t,r){"use strict";r.r(t);var a=r(1),n=r.n(a),i=r(2),s=r.n(i),o=(r(9),r(8),{props:{fields:{type:Array,default:[]},data:{type:Array,required:!0},pageLength:{type:[Array,Number],default:function(){return[10,25,50]}},loading:{type:Boolean,default:!1},lengthChange:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},pagination:{type:Boolean,default:!0},inputClass:{type:String,default:""},scrollable:{type:Boolean,default:!1}},components:{Icon:s.a},data:function(){return{perPage:10,from:0,tableFilter:"",columnsFilter:{},sort1:{field:"",order:""},sort2:{field:"",order:""},sort3:{field:"",order:""}}},beforeMount:function(){this.perPage=this.pageLength[0]||this.pageLength},computed:{columnslength:function(){return 0===Object.keys(this.columnsFilter).length},filteredData:function(){var e=this,t=this;return this.from=0,this.columnSearchable?n.a.filter(this.data,function(r){if(0===Object.keys(e.columnsFilter).length)return!0;var a=!0;for(var n in t.columnsFilter)0!==t.columnsFilter[n].length&&(a=a&&String(t.getObjectData(r,n)).toLowerCase().indexOf(t.columnsFilter[n].toLowerCase())>=0);return a}):n.a.filter(this.data,function(e){for(var r in t.fields)if(String(t.getObjectData(e,t.fields[r].name)).toLowerCase().indexOf(t.tableFilter.toLowerCase())>=0)return!0})},dataSort:function(){return n.a.orderBy(this.filteredData,[this.sort1.field,this.sort2.field,this.sort3.field],[this.sort1.order,this.sort2.order,this.sort3.order])},dataSet:function(){return this.dataSort.slice(this.from,this.from+this.perPage)},lastPage:function(){return Math.ceil(this.filteredData.length/this.perPage)},currentPage:function(){return Math.ceil(this.from/this.perPage)+1},columnSearchable:function(){return this.fields.filter(function(e){return void 0!==e.search?e.search:0}).length>0?1:0}},methods:{previousPage:function(){this.from-this.perPage>=0&&(this.from=this.from-this.perPage)},nextPage:function(){this.from+this.perPage<this.filteredData.length&&(this.from=this.from+this.perPage)},toFirstPage:function(){this.from=0},toLastPage:function(){this.from=Math.floor((this.filteredData.length-1)/this.perPage)*this.perPage},sortField:function(e){this.sort1.field===e.name?this.sort1.order="asc"!==this.sort1.order?"asc":"desc":(Object.assign(this.sort3,this.sort2),Object.assign(this.sort2,this.sort1),this.sort1={field:e.name,order:"asc"})},getObjectData:function(e,t){var r=e;return t.split(".").forEach(function(e){r=r[e]?r[e]:""}),r}},watch:{dataSet:function(e){this.$emit("currentData",e)}}});r(7);var l=function(e,t,r,a,n,i,s,o){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=r,c._compiled=!0),a&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=l):n&&(l=o?function(){n.call(this,this.$root.$options.shadowRoot)}:n),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,l):[l]}return{exports:e,options:c}}(o,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{position:"relative"}},[e.lengthChange||e.filterable?r("nav",{staticClass:"level is-mobile"},[e.lengthChange&&!e.scrollable?r("div",{staticClass:"level-left"},[r("div",{staticClass:"level-item"},[r("div",{staticClass:"select",class:e.inputClass},[r("select",{directives:[{name:"model",rawName:"v-model",value:e.perPage,expression:"perPage"}],on:{change:function(t){var r=Array.prototype.filter.call(t.target.options,function(e){return e.selected}).map(function(e){return"_value"in e?e._value:e.value});e.perPage=t.target.multiple?r:r[0]}}},e._l(e.pageLength,function(t,a){return r("option",{key:a,domProps:{value:t}},[e._v(e._s(t))])}))])])]):e._e(),e._v(" "),e.filterable&&!e.columnSearchable?r("div",{staticClass:"level-right"},[r("div",{staticClass:"level-item"},[r("div",{staticClass:"field"},[r("p",{staticClass:"control has-icons-left has-icons-right"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.tableFilter,expression:"tableFilter"}],staticClass:"input",class:e.inputClass,attrs:{type:"email",placeholder:"search"},domProps:{value:e.tableFilter},on:{input:function(t){t.target.composing||(e.tableFilter=t.target.value)}}}),e._v(" "),r("span",{staticClass:"icon is-small is-left"},[r("icon",{attrs:{name:"search"}})],1)])])])]):e._e()]):e._e(),e._v(" "),r("div",{staticClass:"datatable-wrapper"},[r("table",{staticClass:"table is-striped is-narrow is-fullwidth"},[r("thead",[r("tr",e._l(e.fields,function(t,a){return r("th",{key:a,staticClass:"cursorPointer",on:{click:function(r){e.sortField(t)}}},[r("span",[e._v(e._s(t.label||t.name))]),e._v(" "),e.sort1.field===t.name?r("icon",{attrs:{name:"asc"===e.sort1.order?"caret-up":"caret-down"}}):e._e()],1)})),e._v(" "),e.columnSearchable?r("tr",e._l(e.fields,function(t,a){return r("th",{key:a},[t.search?r("div",{staticClass:"field is-narrow"},[r("div",{staticClass:"control"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.columnsFilter[t.name],expression:"columnsFilter[f.name]"}],staticClass:"input is-small",attrs:{type:"text",placeholder:t.label||t.name},domProps:{value:e.columnsFilter[t.name]},on:{input:function(r){r.target.composing||e.$set(e.columnsFilter,t.name,r.target.value)}}})])]):e._e()])})):e._e()]),e._v(" "),e.$slots.footer?r("tfoot",[e._t("footer")],2):e._e(),e._v(" "),r("tbody",{class:{scrollable:e.scrollable}},e._l(e.dataSet,function(t,a){return r("tr",{key:a,on:{click:function(r){e.$emit("onRowClick",t)}}},[e._l(e.fields,function(a,n){return[a.slot?[r("td",{key:n},[e._t(a.name,null,{data:t})],2)]:a.callback?[r("td",{key:n},[e._v(e._s(a.callback(t)))])]:[r("td",{key:n},[e._v(e._s(e.getObjectData(t,a.name)))])]]})],2)}))])]),e._v(" "),e.pagination&&!e.scrollable?r("nav",{staticClass:"pagination is-centered",class:e.inputClass,attrs:{role:"navigation","aria-label":"pagination"}},[r("a",{staticClass:"pagination-previous",attrs:{disabled:e.from-e.perPage<0},on:{click:e.previousPage}},[e._v("Previous")]),e._v(" "),r("a",{staticClass:"pagination-next",attrs:{disabled:e.from+e.perPage>=e.filteredData.length},on:{click:e.nextPage}},[e._v("Next page")]),e._v(" "),r("ul",{staticClass:"pagination-list"},[r("li",[e.currentPage>1?r("a",{staticClass:"pagination-link",on:{click:e.toFirstPage}},[e._v("1")]):e._e()]),e._v(" "),r("li",[e.currentPage-2>1?r("span",{staticClass:"pagination-ellipsis"},[e._v("…")]):e._e()]),e._v(" "),r("li",[e.currentPage-1>1?r("a",{staticClass:"pagination-link",on:{click:e.previousPage}},[e._v(e._s(e.currentPage-1))]):e._e()]),e._v(" "),r("li",[r("a",{staticClass:"pagination-link is-current"},[e._v(e._s(e.currentPage))])]),e._v(" "),r("li",[e.currentPage+1<e.lastPage?r("a",{staticClass:"pagination-link",on:{click:e.nextPage}},[e._v(e._s(e.currentPage+1))]):e._e()]),e._v(" "),r("li",[e.currentPage+2<e.lastPage?r("span",{staticClass:"pagination-ellipsis"},[e._v("…")]):e._e()]),e._v(" "),r("li",[e.currentPage<e.lastPage?r("a",{staticClass:"pagination-link",on:{click:e.toLastPage}},[e._v(e._s(e.lastPage))]):e._e()])])]):e._e(),e._v(" "),e.loading?r("div",{staticStyle:{display:"flex","align-items":"center",position:"absolute",top:"0",width:"100%",height:"100%","background-color":"rgba(0,0,0,0.7)","box-shadow":"0 0 20px 5px rgba(0,0,0,0.7)"}},[r("div",{staticStyle:{margin:"auto"}},[r("icon",{attrs:{name:"circle-o-notch",scale:"4",spin:""}})],1)]):e._e()])},[],!1,null,null,null);t.default=l.exports},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=function(e,t){var r=e[1]||"",a=e[3];if(!a)return r;if(t&&"function"==typeof btoa){var n=(s=a,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+" */"),i=a.sources.map(function(e){return"/*# sourceURL="+a.sourceRoot+e+" */"});return[r].concat(i).concat([n]).join("\n")}var s;return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r}).join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var a={},n=0;n<this.length;n++){var i=this[n][0];"number"==typeof i&&(a[i]=!0)}for(n=0;n<e.length;n++){var s=e[n];"number"==typeof s[0]&&a[s[0]]||(r&&!s[2]?s[2]=r:r&&(s[2]="("+s[2]+") and ("+r+")"),t.push(s))}},t}},function(e,t,r){(e.exports=r(5)(!1)).push([e.i,".datatable-wrapper{overflow:auto}.datatable-wrapper table thead td,.datatable-wrapper table thead th{white-space:nowrap}.scrollable{height:400px;overflow:auto}",""])},function(e,t,r){"use strict";var a=r(0);r.n(a).a},function(e,t){e.exports=require("vue-awesome/icons")},function(e,t){e.exports=require("vue-awesome/icons/flag")},function(e,t,r){e.exports=r(4)}]);