1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-07 02:28:54 +08:00
Files
sqliteviz/js/app.c8c4107c.js
2020-11-14 19:47:08 +00:00

2 lines
52 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(function(e){function t(t){for(var n,a,o=t[0],c=t[1],l=t[2],d=0,h=[];d<o.length;d++)a=o[d],Object.prototype.hasOwnProperty.call(s,a)&&s[a]&&h.push(s[a][0]),s[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);u&&u(t);while(h.length)h.shift()();return r.push.apply(r,l||[]),i()}function i(){for(var e,t=0;t<r.length;t++){for(var i=r[t],n=!0,o=1;o<i.length;o++){var c=i[o];0!==s[c]&&(n=!1)}n&&(r.splice(t--,1),e=a(a.s=i[0]))}return e}var n={},s={app:0},r=[];function a(t){if(n[t])return n[t].exports;var i=n[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,a),i.l=!0,i.exports}a.m=e,a.c=n,a.d=function(e,t,i){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(i,n,function(t){return e[t]}.bind(null,n));return i},a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="";var o=window["webpackJsonp"]=window["webpackJsonp"]||[],c=o.push.bind(o);o.push=t,o=o.slice();for(var l=0;l<o.length;l++)t(o[l]);var u=c;r.push([0,"chunk-vendors"]),i()})({0:function(e,t,i){e.exports=i("56d7")},"017d":function(e,t,i){},"034f":function(e,t,i){"use strict";var n=i("85ec"),s=i.n(n);s.a},"0532":function(e,t,i){},"0ca3":function(e,t,i){e.exports=i.p+"img/chevron.90f40594.svg"},"0f3f":function(e,t,i){},"1dd6":function(e,t,i){},"1e35":function(e,t,i){"use strict";var n=i("bb32"),s=i.n(n);s.a},"25b4":function(e,t,i){"use strict";var n=i("dafe"),s=i.n(n);s.a},"2c34":function(e,t,i){},"33da":function(e,t,i){},"38d0":function(e,t,i){},3938:function(e,t,i){"use strict";var n=i("6317"),s=i.n(n);s.a},4275:function(e,t,i){"use strict";var n=i("b32e"),s=i.n(n);s.a},4476:function(e,t,i){"use strict";var n=i("38d0"),s=i.n(n);s.a},4531:function(e,t,i){},"47b0":function(e,t,i){"use strict";var n=i("d2c9"),s=i.n(n);s.a},"4a8d":function(e,t,i){},"4fab":function(e,t,i){},"56d7":function(e,t,i){"use strict";i.r(t);i("e260"),i("e6cf"),i("cca6"),i("a79d");var n=i("2b0e"),s=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"app"}},[i("router-view")],1)},r=[],a=(i("034f"),i("2877")),o={},c=Object(a["a"])(o,s,r,!1,null,null,null),l=c.exports,u=i("8c4f"),d=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("splitpanes",{staticClass:"schema-tabs-splitter",attrs:{before:{size:20,max:30},after:{size:80,max:100}},scopedSlots:e._u([{key:"left-pane",fn:function(){return[e.$store.state.schema?i("schema"):i("div",{attrs:{id:"empty-schema-container"}},[i("div",{staticClass:"warning"},[e._v(" Database is not uploaded. Queries cant be run without database. ")]),i("db-upload",{attrs:{id:"db-uploader"}})],1)]},proxy:!0},{key:"right-pane",fn:function(){return[i("tabs")]},proxy:!0}])})],1)},h=[],f=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"container",class:["splitpanes","splitpanes--"+(e.horizontal?"horizontal":"vertical"),{"splitpanes--dragging":e.touch.dragging}]},[n("div",{ref:"movableSplitter",staticClass:"movable-splitter",style:e.movableSplitterStyle}),n("div",{ref:"left",staticClass:"splitpanes__pane",style:e.styles[0],attrs:{size:e.paneBefore.size,"max-size":"30"}},[e._t("left-pane")],2),n("div",{staticClass:"splitpanes__splitter",on:{mousedown:e.onMouseDown,touchstart:e.onMouseDown}},[n("div",{staticClass:"toggle-btn",on:{click:e.toggleFirstPane}},[n("img",{staticClass:"direction-icon",style:e.directionIconStyle,attrs:{src:i("0ca3")}})])]),n("div",{ref:"right",staticClass:"splitpanes__pane",style:e.styles[1]},[e._t("right-pane")],2)])},v=[],m=i("55304"),p=i("ade3"),b={name:"Splitpanes",props:{horizontal:{type:Boolean,default:!1},before:{type:Object},after:{type:Object}},data:function(){return{container:null,paneBefore:this.before,paneAfter:this.after,beforeMinimising:this.before.size,touch:{mouseDown:!1,dragging:!1},movableSplitter:{top:0,left:0,visibility:"hidden"}}},computed:{styles:function(){return[Object(p["a"])({},this.horizontal?"height":"width","".concat(this.paneBefore.size,"%")),Object(p["a"])({},this.horizontal?"height":"width","".concat(this.paneAfter.size,"%"))]},movableSplitterStyle:function(){var e=Object(m["a"])({},this.movableSplitter);return e.top+="%",e.left+="%",e},expanded:function(){return 0!==this.paneBefore.size},directionIconStyle:function(){var e="translate(-50%, -50%)";return this.horizontal?{transform:"".concat(e," ").concat(this.expanded?"rotate(90deg)":"rotate(-90deg)")}:{transform:"".concat(e," ").concat(this.expanded?"rotate(0deg)":"rotate(180deg)")}}},methods:{bindEvents:function(){document.addEventListener("mousemove",this.onMouseMove,{passive:!1}),document.addEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.addEventListener("touchmove",this.onMouseMove,{passive:!1}),document.addEventListener("touchend",this.onMouseUp))},unbindEvents:function(){document.removeEventListener("mousemove",this.onMouseMove,{passive:!1}),document.removeEventListener("mouseup",this.onMouseUp),"ontouchstart"in window&&(document.removeEventListener("touchmove",this.onMouseMove,{passive:!1}),document.removeEventListener("touchend",this.onMouseUp))},onMouseDown:function(){this.bindEvents(),this.touch.mouseDown=!0},onMouseMove:function(e){this.touch.mouseDown&&(e.preventDefault(),this.touch.dragging=!0,this.$set(this.movableSplitter,"visibility","visible"),this.moveSplitter(e))},onMouseUp:function(){var e=this;if(this.touch.mouseDown=!1,this.touch.dragging){var t=this.horizontal?this.movableSplitter.top:this.movableSplitter.left;this.paneBefore.size=t,this.paneAfter.size=100-t,this.movableSplitter={top:0,left:0,visibility:"hidden"}}setTimeout((function(){e.touch.dragging=!1,e.unbindEvents()}),100)},getCurrentMouseDrag:function(e){var t=this.container.getBoundingClientRect(),i="ontouchstart"in window&&e.touches?e.touches[0]:e,n=i.clientX,s=i.clientY;return{x:n-t.left,y:s-t.top}},getCurrentDragPercentage:function(e){e=e[this.horizontal?"y":"x"];var t=this.container[this.horizontal?"clientHeight":"clientWidth"];return 100*e/t},moveSplitter:function(e){var t=this.getCurrentDragPercentage(this.getCurrentMouseDrag(e)),i=this.paneBefore,n=this.paneAfter,s=i.max<100&&t>=i.max,r=n.max<100&&t<=100-n.max,a=this.horizontal?"top":"left";s||r?s?this.$set(this.movableSplitter,a,i.max):this.$set(this.movableSplitter,a,Math.max(100-n.max,0)):this.$set(this.movableSplitter,a,Math.min(Math.max(t,0),i.max))},toggleFirstPane:function(){this.paneBefore.size>0?(this.beforeMinimising=this.paneBefore.size,this.paneBefore.size=0):this.paneBefore.size=this.beforeMinimising,this.paneAfter.size=100-this.paneBefore.size}},mounted:function(){this.container=this.$refs.container}},g=b,y=(i("8e6c"),Object(a["a"])(g,f,v,!1,null,null,null)),w=y.exports,C=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"schema-container"}},[i("div",{attrs:{id:"schema-filter"}},[i("text-field",{attrs:{placeholder:"Search table",width:"100%"},model:{value:e.filter,callback:function(t){e.filter=t},expression:"filter"}})],1),i("div",{attrs:{id:"db"}},[i("div",{staticClass:"db-name",on:{click:function(t){e.schemaVisible=!e.schemaVisible}}},[i("svg",{staticClass:"chevron-icon",style:{transform:e.schemaVisible?"rotate(90deg)":"rotate(0)"},attrs:{width:"9",height:"9",viewBox:"0 0 8 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[i("path",{attrs:{d:"M0.721924 9.93097L4.85292 5.79997L0.721924 1.66897L1.99992 0.399973L7.39992 5.79997L1.99992 11.2L0.721924 9.93097Z",fill:e.schemaVisible?"#506784":"rgba(80, 103, 132, 0.5)"}})]),e._v(" "+e._s(e.dbName)+" ")]),i("div",{staticClass:"db-edit"},[i("input",{ref:"dbfile",attrs:{type:"file",id:"actual-btn",hidden:""},on:{change:e.changeDb}}),i("label",{attrs:{for:"actual-btn"}},[i("change-db-icon")],1)])]),e.schemaVisible?i("div",{staticClass:"schema"},e._l(e.schema,(function(e){return i("table-description",{key:e.name,attrs:{name:e.name,columns:e.columns}})})),1):e._e()])},x=[],_=(i("4de4"),i("c975"),function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"table-name",on:{click:function(t){e.colVisible=!e.colVisible}}},[i("svg",{staticClass:"chevron-icon",style:{transform:e.colVisible?"rotate(90deg)":"rotate(0)"},attrs:{width:"9",height:"9",viewBox:"0 0 8 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"}},[i("path",{attrs:{d:"M0.721924 9.93097L4.85292 5.79997L0.721924 1.66897L1.99992 0.399973L7.39992 5.79997L1.99992 11.2L0.721924 9.93097Z",fill:e.colVisible?"#506784":"rgba(80, 103, 132, 0.5)"}})]),e._v(" "+e._s(e.name)+" ")]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.colVisible,expression:"colVisible"}],staticClass:"columns"},e._l(e.columns,(function(t,n){return i("div",{key:n,staticClass:"column"},[e._v(" "+e._s(t.name)+" "),i("span",{staticClass:"column-type"},[e._v(e._s(t.type))])])})),0)])}),S=[],Q={name:"TableDescription",props:["name","columns"],data:function(){return{colVisible:!1}}},$=Q,k=(i("667d"),Object(a["a"])($,_,S,!1,null,"246242c8",null)),L=k.exports,q=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{class:["text-field-label",{error:e.errorMsg}]},[e._v(e._s(e.label))]),i("input",{class:{error:e.errorMsg},style:{width:e.width},attrs:{type:"text",placeholder:e.placeholder},domProps:{value:e.value},on:{input:function(t){return e.$emit("input",t.target.value)}}}),i("div",{staticClass:"text-field-error"},[e._v(e._s(e.errorMsg))])])},T=[],I={name:"textField",props:["placeholder","label","errorMsg","value","width"]},O=I,N=(i("a231"),Object(a["a"])(O,q,T,!1,null,"519e18b9",null)),M=N.exports,P=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("svg",{staticClass:"db-edit-icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{mouseover:e.showTooltip,mouseout:function(t){return e.$set(e.tooltipStyle,"visibility","hidden")}}},[i("path",{attrs:{d:"M3 10.5V12.75C3 14.25 5.2875 15.54 8.25 15.75V13.5825L8.3475 13.5C5.34 13.32 3 12.045 3 10.5ZM9 9.75C5.685 9.75 3 8.4075 3 6.75V9C3 10.6575 5.685 12 9 12C9.2925 12 9.5775 12 9.87 12L12.75 9.09C11.55 9.54 10.2825 9.75 9 9.75ZM9 2.25C5.685 2.25 3 3.5925 3 5.25C3 6.9075 5.685 8.25 9 8.25C12.315 8.25 15 6.9075 15 5.25C15 3.5925 12.315 2.25 9 2.25ZM15.75 8.3475C15.6375 8.3475 15.5325 8.3925 15.4575 8.475L14.7075 9.225L16.245 10.725L16.995 9.975C17.1525 9.825 17.16 9.57 16.995 9.3975L16.065 8.475C15.99 8.3925 15.885 8.3475 15.78 8.3475H15.75ZM14.28 9.66L9.75 14.205V15.75H11.295L15.84 11.1975L14.28 9.66Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Change database ")])])},z=[],D={data:function(){return{tooltipStyle:{}}},methods:{showTooltip:function(e){this.tooltipStyle={visibility:"visible",position:"fixed",top:e.clientY-12+"px",left:e.clientX+12+"px"}}}},E={name:"changeDbIcon",mixins:[D]},V=E,j=(i("74f7"),Object(a["a"])(V,P,z,!1,null,"6e5138dd",null)),H=j.exports,A={name:"Schema",components:{TableDescription:L,TextField:M,ChangeDbIcon:H},data:function(){return{schemaVisible:!0,filter:null}},computed:{schema:function(){var e=this;return this.$store.state.schema?this.filter?this.$store.state.schema.filter((function(t){return-1!==t[0].toUpperCase().indexOf(e.filter.toUpperCase())})):this.$store.state.schema:[]},dbName:function(){return this.$store.state.dbName}},methods:{changeDb:function(){this.$db.loadDb(this.$refs.dbfile.files[0])}}},R=A,B=(i("25b4"),Object(a["a"])(R,C,x,!1,null,"65d9b0b6",null)),U=B.exports,F=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"tabs-container"}},[e.tabs.length>0?i("div",{attrs:{id:"tabs__header"}},e._l(e.tabs,(function(t,n){return i("div",{key:n,class:[{tab__selected:t.id===e.selectedIndex},"tab"],on:{click:function(i){return e.selectTab(t.id)}}},[i("div",{staticClass:"tab-name"},[i("span",{directives:[{name:"show",rawName:"v-show",value:t.isUnsaved,expression:"tab.isUnsaved"}]},[e._v("*")]),t.name?i("span",[e._v(e._s(t.name))]):i("span",{staticClass:"tab-untitled"},[e._v(e._s(t.tempName))])]),i("div",[i("svg",{staticClass:"close-icon",attrs:{width:"10",height:"10",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.closeTab(n)}}},[i("path",{attrs:{d:"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z",fill:"#A2B1C6"}})])])])})),0):e._e(),e._l(e.tabs,(function(e,t){return i("tab",{key:e.id,attrs:{id:e.id,"init-name":e.name,"init-query":e.query,"init-chart":e.chart,"is-predefined":e.isPredefined,"tab-index":t}})})),0===e.tabs.length?i("div",{attrs:{id:"start-guide"}},[i("span",{staticClass:"link",on:{click:function(t){return e.$root.$emit("createNewQuery")}}},[e._v("Create")]),e._v(" a new query from scratch or open the one from "),i("router-link",{staticClass:"link",attrs:{to:"/my-queries"}},[e._v("My queries")])],1):e._e()],2)},Z=[],W=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"show",rawName:"v-show",value:e.isActive,expression:"isActive"}],staticClass:"tab-content-container"},[i("splitpanes",{staticClass:"query-results-splitter",attrs:{horizontal:"",before:{size:50,max:70},after:{size:50,max:100}},scopedSlots:e._u([{key:"left-pane",fn:function(){return[i("div",{staticClass:"query-editor"},[i("sql-editor",{model:{value:e.query,callback:function(t){e.query=t},expression:"query"}})],1)]},proxy:!0},{key:"right-pane",fn:function(){return[i("div",{ref:"bottomPane",attrs:{id:"bottomPane"}},[i("view-switcher",{attrs:{view:e.view},on:{"update:view":function(t){e.view=t}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:"table"===e.view,expression:"view === 'table'"}],staticClass:"table-view"},[i("div",{directives:[{name:"show",rawName:"v-show",value:null===e.result&&!e.isGettingResults&&!e.error,expression:"result === null && !isGettingResults && !error"}],staticClass:"table-preview"},[e._v(" Run your query and get results here ")]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.isGettingResults,expression:"isGettingResults"}],staticClass:"table-preview"},[e._v(" Fetching results... ")]),i("div",{directives:[{name:"show",rawName:"v-show",value:void 0===e.result&&!e.isGettingResults&&!e.error,expression:"result === undefined && !isGettingResults && !error"}],staticClass:"table-preview"},[e._v(" No rows retrieved according to your query ")]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"table-preview error"},[e._v(" "+e._s(e.error)+" ")]),e.result?i("sql-table",{attrs:{"data-set":e.result,height:e.tableViewHeight}}):e._e()],1),i("chart",{ref:"chart",attrs:{visible:"chart"===e.view,"sql-result":e.result,"init-chart":e.initChart},on:{update:function(t){e.isUnsaved=!0}}})],1)]},proxy:!0}])})],1)},G=[],J=(i("d3b7"),function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{staticClass:"rounded-bg"},[i("div",{ref:"header-container",staticClass:"header-container"},[i("div",e._l(e.header,(function(t,n){return i("div",{key:n,staticClass:"fixed-header",style:{width:t.width+"px"}},[e._v(" "+e._s(t.name)+" ")])})),0)]),i("div",{ref:"table-container",staticClass:"table-container",style:{maxHeight:e.height+"px"},on:{scroll:e.onScrollTable}},[i("table",{ref:"table"},[i("thead",[i("tr",e._l(e.dataSet.columns,(function(t,n){return i("th",{key:n,ref:"th",refInFor:!0},[i("div",{staticClass:"cell-data",style:e.cellStyle},[e._v(e._s(t))])])})),0)]),i("tbody",e._l(e.currentPageData,(function(t,n){return i("tr",{key:n},e._l(t,(function(t,n){return i("td",{key:n},[i("div",{staticClass:"cell-data",style:e.cellStyle},[e._v(e._s(t))])])})),0)})),0)])])]),i("div",{staticClass:"table-footer"},[i("div",{staticClass:"table-footer-count"},[e._v(" "+e._s(e.dataSet.values.length)+" "+e._s(1===e.dataSet.values.length?"row":"rows")+" retrieved ")]),i("pager",{directives:[{name:"show",rawName:"v-show",value:e.pageCount>1,expression:"pageCount > 1"}],attrs:{"page-count":e.pageCount},model:{value:e.currentPage,callback:function(t){e.currentPage=t},expression:"currentPage"}})],1)])}),X=[],Y=(i("d81d"),i("fb6a"),i("ddb0"),function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("paginate",{attrs:{"page-count":e.pageCount,"page-range":5,"margin-pages":1,"prev-text":e.chevron,"next-text":e.chevron,"no-li-surround":!0,"container-class":"paginator-continer","page-link-class":"paginator-page-link","active-class":"paginator-active-page","break-view-link-class":"paginator-break","next-link-class":"paginator-next","prev-link-class":"paginator-prev","disabled-class":"paginator-disabled"},model:{value:e.page,callback:function(t){e.page=t},expression:"page"}})}),K=[],ee=i("8832"),te=i.n(ee),ie={name:"Pager",components:{Paginate:te.a},props:["pageCount","value"],data:function(){return{page:this.value,chevron:'\n <svg width="9" height="9" viewBox="0 0 8 12" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M0.721924 9.93097L4.85292 5.79997L0.721924 1.66897L1.99992 0.399973L7.39992 5.79997L1.99992 11.2L0.721924 9.93097Z" fill="#506784"/>\n </svg>\n '}},watch:{page:function(){this.$emit("input",this.page)},value:function(){this.page=this.value}}},ne=ie,se=(i("b7c0"),Object(a["a"])(ne,Y,K,!1,null,"526c1dd2",null)),re=se.exports,ae={name:"SqlTable",components:{Pager:re},props:["dataSet","height"],data:function(){return{header:null,tableWidth:null,currentPage:1,resizeObserver:null}},computed:{cellStyle:function(){var e=this.tableWidth/this.dataSet.columns.length;return{maxWidth:"".concat(Math.max(e,100),"px")}},pageSize:function(){return Math.max(Math.floor(this.height/40),20)},pageCount:function(){return Math.ceil(this.dataSet.values.length/this.pageSize)},currentPageData:function(){var e=(this.currentPage-1)*this.pageSize;return this.dataSet.values.slice(e,e+this.pageSize)}},methods:{calculateHeadersWidth:function(){var e=this;this.tableWidth=this.$refs["table-container"].offsetWidth,this.$nextTick((function(){e.header=e.$refs.th.map((function(e){return{name:e.innerText,width:e.offsetWidth}}))}))},onScrollTable:function(){this.$refs["header-container"].scrollLeft=this.$refs["table-container"].scrollLeft},functionName:function(){}},mounted:function(){this.resizeObserver=new ResizeObserver(this.calculateHeadersWidth),this.resizeObserver.observe(this.$refs.table),this.calculateHeadersWidth()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs.table)},watch:{currentPageData:"calculateHeadersWidth",dataSet:function(){this.currentPage=1}}},oe=ae,ce=Object(a["a"])(oe,J,X,!1,null,"3a0c2a2d",null),le=ce.exports,ue=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"codemirror-container"},[i("codemirror",{attrs:{options:e.cmOptions},on:{changes:e.onCmChange},model:{value:e.query,callback:function(t){e.query=t},expression:"query"}})],1)},de=[],he=(i("4160"),i("b0c0"),i("159b"),i("56b3")),fe=i.n(he),ve=i("8f94"),me=(i("a7be"),i("ffda"),i("d5db"),i("9b74"),i("f6b6"),i("991c"),i("b012")),pe=fe.a.hint.sql;fe.a.hint.sql=function(e,t){var i=e.getTokenAt(e.getCursor()).string.toUpperCase(),n=pe(e,t);return 1===n.list.length&&n.list[0].text.toUpperCase()===i&&(n.list=[]),n};var be={name:"SqlEditor",props:["value"],components:{codemirror:ve["codemirror"]},data:function(){return{query:this.value,cmOptions:{tabSize:4,mode:"text/x-mysql",theme:"neo",lineNumbers:!0,line:!0}}},computed:{tables:function(){var e={};return this.$store.state.schema&&this.$store.state.schema.forEach((function(t){e[t.name]=t.columns.map((function(e){return e.name}))})),e}},watch:{query:function(){this.$emit("input",this.query)}},methods:{onCmChange:Object(me["debounce"])((function(e){var t=e.getTokenAt(e.getCursor()).string.slice(-1),i=e.getTokenAt(e.getCursor()).type;if("string"!==i&&t&&" "!==t&&";"!==t){var n={tables:this.tables,completeSingle:!1,completeOnSingleClick:!0,alignWithWord:!1};fe.a.showHint(e,fe.a.hint.sql,n)}}),400)}},ge=be,ye=(i("e0e8"),Object(a["a"])(ge,ue,de,!1,null,"f23bc048",null)),we=ye.exports,Ce=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"view-switcher"},[i("div",{class:["table-mode",{"active-mode":"table"===e.view}],on:{click:function(t){return e.$emit("update:view","table")}}},[e._v(" Table ")]),i("div",{class:["chart-mode",{"active-mode":"chart"===e.view}],on:{click:function(t){return e.$emit("update:view","chart")}}},[e._v(" Chart ")])])},xe=[],_e={name:"ViewSwitcher",props:["view"]},Se=_e,Qe=(i("76c2"),Object(a["a"])(Se,Ce,xe,!1,null,"6204f3ca",null)),$e=Qe.exports,ke=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"chart-container"},[i("div",{directives:[{name:"show",rawName:"v-show",value:!e.sqlResult&&e.visible,expression:"!sqlResult && visible"}],staticClass:"warning chart-warning"},[e._v(" There is no data to build a chart. Run your sql query and make sure the result is not empty. ")]),i("PlotlyEditor",{staticClass:"chart",style:{height:e.sqlResult?"100%":"calc(100% - 40px)"},attrs:{data:e.state.data,layout:e.state.layout,frames:e.state.frames,config:{editable:!0,displaylogo:!1},dataSources:e.dataSources,dataSourceOptions:e.dataSourceOptions,plotly:e.plotly,useResizeHandler:!0,debug:!0,advancedTraceTypeSelector:!0},on:{onUpdate:e.update}})],1)},Le=[],qe=(i("b64b"),i("3835")),Te=i("f794"),Ie=i.n(Te),Oe=(i("0848"),i("b1c6")),Ne=i.n(Oe),Me=i("662f"),Pe=i.n(Me),ze={name:"Chart",props:["sqlResult","initChart","visible"],components:{PlotlyEditor:Ne.a},data:function(){return{plotly:Ie.a,state:this.initChart||{data:[],layout:{},frames:[]}}},computed:{dataSources:function(){if(!this.sqlResult)return{};var e={},t=this.sqlResult.values,i=Object(qe["a"])(t,1),n=i[0],s=n.map((function(e,i){return t.map((function(e){return e[i]}))}));return this.sqlResult.columns.forEach((function(t,i){e[t]=s[i]})),e},dataSourceOptions:function(){return Object.keys(this.dataSources).map((function(e){return{value:e,label:e}}))}},watch:{dataSources:function(){Pe()(this.state.data,this.dataSources)}},methods:{update:function(e,t,i){this.state={data:e,layout:t,frames:i},this.$emit("update")},getChartSatateForSave:function(){var e=JSON.parse(JSON.stringify(this.state)),t={};for(var i in this.dataSources)t[i]=[];return Pe()(e.data,t),e}}},De=ze,Ee=(i("4476"),Object(a["a"])(De,ke,Le,!1,null,"446c7c28",null)),Ve=Ee.exports,je={name:"Tab",props:["id","initName","initQuery","initChart","tabIndex","isPredefined"],components:{SqlEditor:we,SqlTable:le,Splitpanes:w,ViewSwitcher:$e,Chart:Ve},data:function(){return{query:this.initQuery,result:null,view:"table",tableViewHeight:0,isUnsaved:!this.initName,isGettingResults:!1,error:null,resizeObserver:null}},computed:{isActive:function(){return this.id===this.$store.state.currentTabId}},created:function(){this.$store.commit("setCurrentTab",this)},mounted:function(){this.resizeObserver=new ResizeObserver(this.handleResize),this.resizeObserver.observe(this.$refs.bottomPane),this.calculateTableHeight()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs.bottomPane)},watch:{isActive:function(){this.isActive&&this.$store.commit("setCurrentTab",this)},query:function(){this.isUnsaved=!0},isUnsaved:function(){this.$store.commit("updateTabState",{index:this.tabIndex,newValue:this.isUnsaved})}},methods:{execute:function(){var e=this;this.isGettingResults=!0,this.result=null,this.error=null,this.$db.execute(this.query+";").then((function(t){e.result=t})).catch((function(t){e.error=t})).finally((function(){e.isGettingResults=!1}))},handleResize:function(){var e=this;"chart"===this.view&&(this.view="not chart",this.$nextTick((function(){e.view="chart"}))),this.calculateTableHeight()},calculateTableHeight:function(){var e=this.$refs.bottomPane,t=e.offsetHeight-88-42-30-5-40;this.tableViewHeight=t-t%40},getChartSatateForSave:function(){return this.$refs.chart.getChartSatateForSave()}}},He=je,Ae=(i("d24b"),Object(a["a"])(He,W,G,!1,null,"39f653a2",null)),Re=Ae.exports,Be={components:{Tab:Re},data:function(){return{}},computed:{tabs:function(){return this.$store.state.tabs},selectedIndex:function(){return this.$store.state.currentTabId}},methods:{selectTab:function(e){this.$store.commit("setCurrentTabId",e)},closeTab:function(e){this.$store.commit("deleteTab",e)}}},Ue=Be,Fe=(i("47b0"),Object(a["a"])(Ue,F,Z,!1,null,null,null)),Ze=Fe.exports,We=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("label",{attrs:{for:"assetsFieldHandle"}},[i("div",{staticClass:"drop-area",on:{dragover:e.dragover,dragleave:e.dragleave,drop:e.drop}},[i("input",{ref:"file",attrs:{type:"file",id:"assetsFieldHandle",accept:".db,.sqlite,.sqlite3"},on:{change:e.loadDb}}),i("div",[e._v(" Drop the database file to upload here or click to choose a file from your computer. ")])])]),i("div",{staticClass:"error",attrs:{id:"error"}})])},Ge=[],Je={name:"DbUpload",methods:{loadDb:function(){this.$db.loadDb(this.$refs.file.files[0])},dragover:function(e){e.preventDefault(),e.currentTarget.classList.contains("bg-green-300")||(e.currentTarget.classList.remove("bg-gray-100"),e.currentTarget.classList.add("bg-green-300"))},dragleave:function(e){e.currentTarget.classList.add("bg-gray-100"),e.currentTarget.classList.remove("bg-green-300")},drop:function(e){e.preventDefault(),this.$refs.file.files=e.dataTransfer.files,this.loadDb(),e.currentTarget.classList.add("bg-gray-100"),e.currentTarget.classList.remove("bg-green-300")}}},Xe=Je,Ye=(i("3938"),Object(a["a"])(Xe,We,Ge,!1,null,"1e1606aa",null)),Ke=Ye.exports,et={name:"Editor",components:{Schema:U,Splitpanes:w,Tabs:Ze,dbUpload:Ke}},tt=et,it=(i("f764"),Object(a["a"])(tt,d,h,!1,null,"79d24bbc",null)),nt=it.exports,st=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[0===e.showedQueries.length?n("div",{attrs:{id:"start-guide"}},[e._v(" You don't have saved queries so far. "),n("span",{staticClass:"link",on:{click:e.create}},[e._v("Create")]),e._v(" the one from scratch or "),n("label",{staticClass:"link",attrs:{for:"import-file"}},[e._v("import")]),e._v(" from a file. ")]):e._e(),n("div",{directives:[{name:"show",rawName:"v-show",value:e.showedQueries.length>0,expression:"showedQueries.length > 0"}],attrs:{id:"my-queries-content"}},[n("div",{attrs:{id:"my-queries-toolbar"}},[n("div",{attrs:{id:"toolbar-buttons"}},[n("input",{ref:"importFile",attrs:{type:"file",accept:".json",id:"import-file"},on:{change:e.importQueries}}),e._m(0),n("button",{directives:[{name:"show",rawName:"v-show",value:e.selectedQueriesCount>0,expression:"selectedQueriesCount > 0"}],staticClass:"toolbar",on:{click:function(t){return e.exportQuery(e.selectedQueriesIds)}}},[e._v(" Export ")]),n("button",{directives:[{name:"show",rawName:"v-show",value:e.selectedNotPredefinedCount>0,expression:"selectedNotPredefinedCount > 0"}],staticClass:"toolbar",on:{click:function(t){return e.showDeleteDialog(e.selectedQueriesIds)}}},[e._v(" Delete ")])]),n("div",{attrs:{id:"toolbar-search"}},[n("text-field",{attrs:{placeholder:"Search query by name",width:"300px"},model:{value:e.filter,callback:function(t){e.filter=t},expression:"filter"}})],1)]),n("div",{staticClass:"rounded-bg"},[n("div",{staticClass:"header-container"},[n("div",[n("div",{ref:"name-th",staticClass:"fixed-header"},[n("check-box",{ref:"mainCheckBox",attrs:{theme:"light"},on:{click:e.toggleSelectAll}}),n("div",{staticClass:"name-th"},[e._v("Name")])],1),n("div",{staticClass:"fixed-header"},[e._v(" Created at ")])])]),n("div",{ref:"table-container",staticClass:"table-container"},[n("table",{ref:"table"},[n("tbody",e._l(e.showedQueries,(function(t,i){return n("tr",{key:t.id,class:{predefined:t.isPredefined},on:{click:function(t){return e.openQuery(i)}}},[n("td",{ref:"name-td",refInFor:!0},[n("div",{staticClass:"cell-data"},[n("check-box",{ref:"rowCheckBox",refInFor:!0,attrs:{init:e.selectAll||e.selectedQueriesIds.has(t.id)},on:{click:function(i){return e.toggleRow(i,t.id)}}}),n("div",{staticClass:"name"},[e._v(e._s(t.name))]),n("div",{staticClass:"badge",on:{mouseover:e.showTooltip,mouseout:function(t){return e.$set(e.tooltipStyle,"visibility","hidden")}}},[e._v(" Predefined "),n("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Predefined queries come from the server. These queries cant be deleted or renamed. ")])])],1)]),n("td",[n("div",{staticClass:"second-column"},[n("div",{staticClass:"date-container"},[e._v(e._s(e._f("date")(t.createdAt)))]),n("div",{staticClass:"icons-container"},[t.isPredefined?e._e():n("rename-icon",{on:{click:function(i){return e.showRenameDialog(t.id)}}}),n("copy-icon",{on:{click:function(t){return e.duplicateQuery(i)}}}),n("export-icon",{on:{click:function(t){return e.exportQuery(i)}}}),t.isPredefined?e._e():n("delete-icon",{on:{click:function(i){return e.showDeleteDialog(t.id)}}})],1)])])])})),0)])])])]),n("modal",{attrs:{name:"rename",classes:"dialog",height:"auto"}},[n("div",{staticClass:"dialog-header"},[e._v(" Rename query "),n("close-icon",{on:{click:function(t){return e.$modal.hide("rename")}}})],1),n("div",{staticClass:"dialog-body"},[n("text-field",{attrs:{label:"New query name","error-msg":e.errorMsg,width:"100%"},model:{value:e.newName,callback:function(t){e.newName=t},expression:"newName"}})],1),n("div",{staticClass:"dialog-buttons-container"},[n("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("rename")}}},[e._v("Cancel")]),n("button",{staticClass:"primary",on:{click:e.renameQuery}},[e._v("Rename")])])]),n("modal",{attrs:{name:"delete",classes:"dialog",height:"auto"}},[n("div",{staticClass:"dialog-header"},[e._v(" Delete "+e._s(e.deleteGroup?"queries":"query")+" "),n("close-icon",{on:{click:function(t){return e.$modal.hide("delete")}}})],1),e.deleteGroup||null!==e.currentQueryIndex&&e.currentQueryIndex>=0&&e.currentQueryIndex<e.queries.length?n("div",{staticClass:"dialog-body"},[e._v(" Are you sure you want to delete "+e._s(e.deleteGroup?e.selectedNotPredefinedCount+" "+(e.selectedNotPredefinedCount>1?"queries":"query"):'"'+e.queries[e.currentQueryIndex].name+'"')+"? "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.selectedQueriesCount>e.selectedNotPredefinedCount,expression:"selectedQueriesCount > selectedNotPredefinedCount"}],attrs:{id:"note"}},[n("img",{attrs:{src:i("db39")}}),e._v(" Note: Predefined queries you've selected won't be deleted ")])]):e._e(),n("div",{staticClass:"dialog-buttons-container"},[n("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("delete")}}},[e._v("Cancel")]),n("button",{staticClass:"primary",on:{click:e.deleteQuery}},[e._v("Delete")])])]),n("a",{ref:"downloader"})],1)},rt=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"toolbar"},[i("label",{attrs:{for:"import-file"}},[e._v(" Import ")])])}],at=(i("99af"),i("c740"),i("a434"),i("6062"),i("3ca3"),i("2b3d"),function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:function(t){return e.$set(e.tooltipStyle,"visibility","hidden")}}},[i("path",{attrs:{d:"M10.545 6.75L11.25 7.455L4.44 14.25H3.75V13.56L10.545 6.75ZM13.245 2.25C13.0575 2.25 12.8625 2.325 12.72 2.4675L11.3475 3.84L14.16 6.6525L15.5325 5.28C15.825 4.9875 15.825 4.5 15.5325 4.2225L13.7775 2.4675C13.6275 2.3175 13.44 2.25 13.245 2.25ZM10.545 4.6425L2.25 12.9375V15.75H5.0625L13.3575 7.455L10.545 4.6425Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Rename query ")])])}),ot=[],ct={name:"RenameIcon",mixins:[D]},lt=ct,ut=(i("69f1"),Object(a["a"])(lt,at,ot,!1,null,"6f58f231",null)),dt=ut.exports,ht=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:function(t){return e.$set(e.tooltipStyle,"visibility","hidden")}}},[i("path",{attrs:{d:"M14.25 15.75H6V5.25H14.25V15.75ZM14.25 3.75H6C5.60218 3.75 5.22064 3.90804 4.93934 4.18934C4.65804 4.47064 4.5 4.85218 4.5 5.25V15.75C4.5 16.1478 4.65804 16.5294 4.93934 16.8107C5.22064 17.092 5.60218 17.25 6 17.25H14.25C14.6478 17.25 15.0294 17.092 15.3107 16.8107C15.592 16.5294 15.75 16.1478 15.75 15.75V5.25C15.75 4.85218 15.592 4.47064 15.3107 4.18934C15.0294 3.90804 14.6478 3.75 14.25 3.75ZM12 0.75H3C2.60218 0.75 2.22064 0.908035 1.93934 1.18934C1.65804 1.47064 1.5 1.85218 1.5 2.25V12.75H3V2.25H12V0.75Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Duplicate query ")])])},ft=[],vt={name:"CopyIcon",mixins:[D]},mt=vt,pt=(i("9445"),Object(a["a"])(mt,ht,ft,!1,null,"37c34920",null)),bt=pt.exports,gt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:function(t){return e.$set(e.tooltipStyle,"visibility","hidden")}}},[i("path",{attrs:{d:"M10.5 1.5H4.5C3.675 1.5 3 2.175 3 3V15C3 15.825 3.675 16.5 4.5 16.5H13.5C14.325 16.5 15 15.825 15 15V6L10.5 1.5ZM13.5 15H4.5V3H9.75V6.75H13.5V15ZM12 8.25V13.575L10.425 12L8.325 14.1L6.225 12L8.325 9.9L6.675 8.25H12Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Export query to file ")])])},yt=[],wt={name:"ExportIcon",mixins:[D]},Ct=wt,xt=(i("5ced"),Object(a["a"])(Ct,gt,yt,!1,null,"dc9bd218",null)),_t=xt.exports,St=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("svg",{staticClass:"icon",attrs:{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")},mouseover:e.showTooltip,mouseout:function(t){return e.$set(e.tooltipStyle,"visibility","hidden")}}},[i("path",{attrs:{d:"M6.75 2.25V3H3V4.5H3.75V14.25C3.75 14.6478 3.90804 15.0294 4.18934 15.3107C4.47064 15.592 4.85218 15.75 5.25 15.75H12.75C13.1478 15.75 13.5294 15.592 13.8107 15.3107C14.092 15.0294 14.25 14.6478 14.25 14.25V4.5H15V3H11.25V2.25H6.75ZM5.25 4.5H12.75V14.25H5.25V4.5ZM6.75 6V12.75H8.25V6H6.75ZM9.75 6V12.75H11.25V6H9.75Z",fill:"#A2B1C6"}})]),i("span",{staticClass:"icon-tooltip",style:e.tooltipStyle},[e._v(" Delete query ")])])},Qt=[],$t={name:"DeleteIcon",mixins:[D]},kt=$t,Lt=(i("708e"),Object(a["a"])(kt,St,Qt,!1,null,"147622c4",null)),qt=Lt.exports,Tt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("svg",{staticClass:"icon",attrs:{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},on:{click:function(t){return t.stopPropagation(),e.$emit("click")}}},[i("path",{attrs:{d:"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z",fill:"#A2B1C6"}})])},It=[],Ot={name:"CloseIcon"},Nt=Ot,Mt=(i("da25"),Object(a["a"])(Nt,Tt,It,!1,null,"de501776",null)),Pt=Mt.exports,zt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"checkbox-container",on:{click:function(t){return t.stopPropagation(),e.onClick(t)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:!e.checked,expression:"!checked"}],staticClass:"unchecked"}),n("img",{directives:[{name:"show",rawName:"v-show",value:e.checked&&"accent"===e.theme,expression:"checked && theme === 'accent'"}],attrs:{src:i("93dd")}}),n("img",{directives:[{name:"show",rawName:"v-show",value:e.checked&&"light"===e.theme,expression:"checked && theme === 'light'"}],attrs:{src:i("69e6")}})])},Dt=[],Et=(i("caad"),{name:"checkBox",props:{theme:{type:String,required:!1,default:"accent",validator:function(e){return["accent","light"].includes(e)}},init:{type:Boolean,required:!1,default:!1}},data:function(){return{checked:this.init}},methods:{onClick:function(){this.checked=!this.checked,this.$emit("click",this.checked)}}}),Vt=Et,jt=(i("b067"),Object(a["a"])(Vt,zt,Dt,!1,null,"3fdd6a88",null)),Ht=jt.exports,At=i("e1bd"),Rt={name:"MyQueries",components:{RenameIcon:dt,CopyIcon:bt,ExportIcon:_t,DeleteIcon:qt,CloseIcon:Pt,TextField:M,CheckBox:Ht},mixins:[D],data:function(){return{queries:[],filter:null,newName:null,currentQueryId:null,errorMsg:null,selectedQueriesIds:new Set,selectedQueriesCount:0,selectedNotPredefinedCount:0,selectAll:!1,deleteGroup:!1,resizeObserver:null}},computed:{predefinedQueries:function(){return this.$store.state.predefinedQueries.map((function(e){return e.isPredefined=!0,e}))},predefinedQueriesIds:function(){return new Set(this.predefinedQueries.map((function(e){return e.id})))},showedQueries:function(){var e=this,t=this.allQueries;return this.filter&&(t=t.filter((function(t){return t.name.toUpperCase().indexOf(e.filter.toUpperCase())>=0}))),t},allQueries:function(){return this.predefinedQueries.concat(this.queries)},currentQueryIndex:function(){var e=this;return this.queries.findIndex((function(t){return t.id===e.currentQueryId}))}},created:function(){this.queries=JSON.parse(localStorage.getItem("myQueries"))||[]},mounted:function(){this.resizeObserver=new ResizeObserver(this.calcNameWidth),this.resizeObserver.observe(this.$refs.table),this.calcNameWidth()},beforeDestroy:function(){this.resizeObserver.unobserve(this.$refs.table)},filters:{date:function(e){if(!e)return"";var t={year:"numeric",month:"long",day:"numeric"},i={hour12:!1,hour:"2-digit",minute:"2-digit"};return new Date(e).toLocaleDateString("en-GB",t)+" "+new Date(e).toLocaleTimeString("en-GB",i)}},methods:{calcNameWidth:function(){var e=this.$refs["name-td"]?this.$refs["name-td"][0].offsetWidth:0;this.$refs["name-th"].style="width: ".concat(e,"px")},create:function(){this.$root.$emit("createNewQuery"),this.$router.push("/editor")},openQuery:function(e){var t=JSON.parse(JSON.stringify(this.showedQueries[e]));t.isUnsaved=!1,this.$store.commit("addTab",t),this.$store.commit("setCurrentTabId",t.id),this.$router.push("/editor")},showRenameDialog:function(e){this.errorMsg=null,this.currentQueryId=e,this.newName=this.queries[this.currentQueryIndex].name,this.$modal.show("rename")},renameQuery:function(){if(this.newName){var e=this.queries[this.currentQueryIndex];e.name=this.newName,this.$set(this.queries,this.currentQueryIndex,e),this.saveQueriesInLocalStorage();var t=this.findTabIndex(e.id);t>=0&&this.$store.commit("updateTab",{index:t,name:this.newName,id:e.id}),this.$modal.hide("rename")}else this.errorMsg="Query name can't be empty"},duplicateQuery:function(e){var t=JSON.parse(JSON.stringify(this.showedQueries[e]));t.name=t.name+" Copy",t.id=Object(At["a"])(),t.createdAt=new Date,delete t.isPredefined,this.selectAll&&(this.selectedQueriesIds.add(t.id),this.selectedQueriesCount=this.selectedQueriesIds.size),this.queries.push(t),this.saveQueriesInLocalStorage()},showDeleteDialog:function(e){this.deleteGroup="string"!==typeof e,this.deleteGroup||(this.currentQueryId=e),this.$modal.show("delete")},deleteQuery:function(){var e=this;if(this.$modal.hide("delete"),this.deleteGroup){this.queries=this.selectAll?[]:this.queries.filter((function(t){return!e.selectedQueriesIds.has(t.id)}));for(var t=this.$store.state.tabs,i=t.length-1;i>=0;i--)this.selectedQueriesIds.has(t[i].id)&&this.$store.commit("deleteTab",i);this.selectedQueriesIds.clear()}else{this.queries.splice(this.currentQueryIndex,1);var n=this.findTabIndex(this.currentQueryId);n>=0&&this.$store.commit("deleteTab",n),this.selectedQueriesIds.has(this.currentQueryId)&&this.selectedQueriesIds.delete(this.currentQueryId)}this.selectedQueriesCount=this.selectedQueriesIds.size,this.saveQueriesInLocalStorage()},findTabIndex:function(e){return this.$store.state.tabs.findIndex((function(t){return t.id===e}))},exportQuery:function(e){var t,i,n=this;"number"===typeof e?(t=JSON.parse(JSON.stringify(this.showedQueries[e])),i=t.name,delete t.isPredefined):(t=this.selectAll?JSON.parse(JSON.stringify(this.allQueries)):this.allQueries.filter((function(e){return n.selectedQueriesIds.has(e.id)})),i="My sqliteviz queries",t.forEach((function(e){return delete e.isPredefined})));var s=this.$refs.downloader,r=JSON.stringify(t,null,4),a=new Blob([r],{type:"octet/stream"}),o=window.URL.createObjectURL(a);s.href=o,s.download="".concat(i,".json"),s.click(),window.URL.revokeObjectURL(o)},importQueries:function(){var e=this,t=this.$refs.importFile.files[0],i=new FileReader;i.onload=function(){var t=JSON.parse(event.target.result);Array.isArray(t)||(t=[t]),t.forEach((function(t){var i=e.allQueries.map((function(e){return e.id}));new Set(i).has(t.id)&&(t.id=Object(At["a"])())})),e.selectAll&&(t.forEach((function(t){e.selectedQueriesIds.add(t.id)})),e.selectedQueriesCount=e.selectedQueriesIds.size),e.queries=e.queries.concat(t),e.saveQueriesInLocalStorage(),e.$refs.importFile.value=null},i.readAsText(t)},saveQueriesInLocalStorage:function(){localStorage.setItem("myQueries",JSON.stringify(this.queries))},toggleSelectAll:function(e){this.selectAll=e,this.$refs.rowCheckBox.forEach((function(t){t.checked=e})),this.selectedQueriesIds=e?new Set(this.allQueries.map((function(e){return e.id}))):new Set,this.selectedQueriesCount=this.selectedQueriesIds.size,this.selectedNotPredefinedCount=e?this.queries.length:0},toggleRow:function(e,t){var i=this.predefinedQueriesIds.has(t);e?(this.selectedQueriesIds.add(t),i||(this.selectedNotPredefinedCount+=1)):(this.selectedQueriesIds.size===this.allQueries.length&&(this.$refs.mainCheckBox.checked=!1,this.selectAll=!1),this.selectedQueriesIds.delete(t),i||(this.selectedNotPredefinedCount-=1)),this.selectedQueriesCount=this.selectedQueriesIds.size}}},Bt=Rt,Ut=(i("4275"),Object(a["a"])(Bt,st,rt,!1,null,"2f95b2c2",null)),Ft=Ut.exports,Zt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"dbloader-container"}},[i("h1",[e._v("Sqliteviz")]),i("db-upload"),i("button",{staticClass:"secondary",attrs:{id:"skip"},on:{click:function(t){return e.$router.push("/editor")}}},[e._v(" Skip database connection for now ")])],1)},Wt=[],Gt={name:"Home",components:{dbUpload:Ke},methods:{loadDb:function(){this.$db.loadDb(this.$refs.file.files[0])},dragover:function(e){e.preventDefault(),e.currentTarget.classList.contains("bg-green-300")||(e.currentTarget.classList.remove("bg-gray-100"),e.currentTarget.classList.add("bg-green-300"))},dragleave:function(e){e.currentTarget.classList.add("bg-gray-100"),e.currentTarget.classList.remove("bg-green-300")},drop:function(e){e.preventDefault(),this.$refs.file.files=e.dataTransfer.files,this.loadDb(),e.currentTarget.classList.add("bg-gray-100"),e.currentTarget.classList.remove("bg-green-300")}}},Jt=Gt,Xt=(i("1e35"),Object(a["a"])(Jt,Zt,Wt,!1,null,"04618f64",null)),Yt=Xt.exports,Kt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("main-menu"),i("keep-alive",{attrs:{include:"Editor"}},[i("router-view",{attrs:{id:"main-view"}})],1)],1)},ei=[],ti=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("nav",[n("div",[n("router-link",{attrs:{to:"/editor"}},[e._v("Editor")]),n("router-link",{attrs:{to:"/my-queries"}},[e._v("My queries")])],1),n("div",[e.currentQuery?n("button",{staticClass:"primary",attrs:{disabled:e.currentQuery&&(!e.$store.state.schema||!e.currentQuery.query)},on:{click:e.currentQuery.execute}},[e._v(" Run ")]):e._e(),e.currentQuery?n("button",{staticClass:"primary",attrs:{disabled:e.currentQuery&&!e.currentQuery.isUnsaved},on:{click:e.checkQueryBeforeSave}},[e._v(" Save ")]):e._e(),n("button",{staticClass:"primary",on:{click:e.createNewQuery}},[e._v("Create")])]),n("modal",{attrs:{name:"save",classes:"dialog",height:"auto"}},[n("div",{staticClass:"dialog-header"},[e._v(" Save query "),n("close-icon",{on:{click:function(t){return e.$modal.hide("save")}}})],1),n("div",{staticClass:"dialog-body"},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.isPredefined,expression:"isPredefined"}],attrs:{id:"save-note"}},[n("img",{attrs:{src:i("db39")}}),e._v(" Note: Predefined queries can't be edited. That's why your modifications will be saved as a new query. Enter the name for it. ")]),n("text-field",{attrs:{label:"Query name","error-msg":e.errorMsg,width:"100%"},model:{value:e.name,callback:function(t){e.name=t},expression:"name"}})],1),n("div",{staticClass:"dialog-buttons-container"},[n("button",{staticClass:"secondary",on:{click:function(t){return e.$modal.hide("save")}}},[e._v("Cancel")]),n("button",{staticClass:"primary",on:{click:e.saveQuery}},[e._v("Save")])])])],1)},ii=[],ni={name:"MainMenu",components:{TextField:M,CloseIcon:Pt},data:function(){return{name:"",errorMsg:null}},computed:{currentQuery:function(){return this.$store.state.currentTab},isPredefined:function(){return!!this.currentQuery&&this.currentQuery.isPredefined}},created:function(){this.$root.$on("createNewQuery",this.createNewQuery)},methods:{createNewQuery:function(){var e={id:Object(At["a"])(),name:null,tempName:this.$store.state.untitledLastIndex?"Untitled ".concat(this.$store.state.untitledLastIndex):"Untitled",isUnsaved:!0};this.$store.commit("addTab",e),this.$store.commit("setCurrentTabId",e.id)},checkQueryBeforeSave:function(){this.errorMsg=null;var e=!this.currentQuery.initName;e||this.isPredefined?this.$modal.show("save"):this.saveQuery()},saveQuery:function(){var e=this,t=!this.currentQuery.initName;if(!t&&!this.isPredefined||this.name){var i=this.currentQuery.result,n=this.currentQuery.view,s={id:this.isPredefined?Object(At["a"])():this.currentQuery.id,query:this.currentQuery.query,chart:this.currentQuery.getChartSatateForSave(),name:!this.isPredefined&&this.currentQuery.initName||this.name,createdAt:new Date},r=JSON.parse(localStorage.getItem("myQueries"));if(r)if(t||this.isPredefined)r.push(s);else{var a=r.findIndex((function(t){return t.id===e.currentQuery.id}));s.createdAt=r[a].createdAt,r[a]=s}else r=[s];localStorage.setItem("myQueries",JSON.stringify(r)),this.$store.commit("updateTab",{index:this.currentQuery.tabIndex,name:s.name,id:s.id,query:s.query,chart:s.chart,isUnsaved:!1}),this.$nextTick((function(){e.currentQuery.result=i,e.currentQuery.view=n})),this.$modal.hide("save")}else this.errorMsg="Query name can't be empty"}}},si=ni,ri=(i("ecf7"),Object(a["a"])(si,ti,ii,!1,null,"6008b4b2",null)),ai=ri.exports,oi=(i("e506"),{name:"MainView",components:{MainMenu:ai},created:function(){var e=this;this.readPredefinedQueries().then((function(t){e.$store.commit("updatePredefinedQueries",t)})).catch(console.error)},methods:{readPredefinedQueries:function(){return new Promise((function(e,t){var i=new XMLHttpRequest;i.open("GET","./queries.json"),i.onload=function(){4===i.readyState&&(200===i.status?e(JSON.parse(i.responseText)):t(i.statusText))},i.onerror=function(){t(i.statusText)},i.send()}))}}}),ci=oi,li=(i("e2a3"),Object(a["a"])(ci,Kt,ei,!1,null,"45820887",null)),ui=li.exports;n["default"].use(u["a"]);var di=[{path:"/",name:"Welcome",component:Yt},{path:"/",name:"MainView",component:ui,children:[{path:"/editor",name:"Editor",component:nt},{path:"/my-queries",name:"MyQueries",component:Ft}]}],hi=new u["a"]({routes:di}),fi=hi,vi=(i("ac1f"),i("5319"),i("2f62")),mi=i("6283"),pi=i.n(mi);function bi(e){var t=e.replace(/(?<=tokenize=.+)"tokenchars=.+"/,"").replace(/(?<=tokenize=.+)"remove_diacritics=.+"/,"").replace(/(?<=tokenize=.+)"separators=.+"/,"").replace(/tokenize=.+(?=(,|\)))/,"tokenize=unicode61");return pi()(t)}function gi(e){var t=[],i=bi(e),n="table"===i.statement[0].format?i.statement[0].definition:i.statement[0].result.args.expression;return n.forEach((function(e){if("column"===e.variant&&["identifier","definition"].includes(e.type)){var i=e.datatype?e.datatype.variant:"N/A";e.datatype&&e.datatype.args&&(i=i+"("+e.datatype.args.expression[0].value,2===e.datatype.args.expression.length&&(i=i+", "+e.datatype.args.expression[1].value),i+=")"),t.push({name:e.name,type:i})}})),t}n["default"].use(vi["a"]);var yi=new vi["a"].Store({state:{schema:null,dbFile:null,dbName:null,tabs:[],currentTab:null,currentTabId:null,untitledLastIndex:0,predefinedQueries:[]},mutations:{saveSchema:function(e,t){var i=[];t.forEach((function(e){i.push({name:e[0],columns:gi(e[1])})})),e.schema=i},saveDbFile:function(e,t){e.dbFile=t},saveDbName:function(e,t){e.dbName=t},addTab:function(e,t){e.tabs.push(t),t.name||(e.untitledLastIndex+=1)},updateTab:function(e,t){var i=t.index,s=t.name,r=t.id,a=t.query,o=t.chart,c=t.isUnsaved,l=e.tabs[i],u=l.id;e.currentTabId===u&&(e.currentTabId=r),l.id=r,s&&(l.name=s),a&&(l.query=a),o&&(l.chart=o),void 0!==c&&(l.isUnsaved=c),delete l.isPredefined,n["default"].set(e.tabs,i,l)},updateTabState:function(e,t){var i=t.index,s=t.newValue,r=e.tabs[i];r.isUnsaved=s,n["default"].set(e.tabs,i,r)},deleteTab:function(e,t){e.tabs[t].id!==e.currentTabId||(t<e.tabs.length-1?e.currentTabId=e.tabs[t+1].id:t>0?e.currentTabId=e.tabs[t-1].id:(e.currentTabId=null,e.currentTab=null,e.untitledLastIndex=0)),e.tabs.splice(t,1)},setCurrentTabId:function(e,t){e.currentTabId=t},setCurrentTab:function(e,t){e.currentTab=t},updatePredefinedQueries:function(e,t){Array.isArray(t)?e.predefinedQueries=t:e.predefinedQueries=[t]}},actions:{}}),wi=i("b8ae"),Ci=i("1881"),xi=i.n(Ci),_i=new Worker("js/worker.sql-wasm.js"),Si={loadDb:function(e){var t=e.name;yi.commit("saveDbName",t);var i=e,n=new FileReader;n.onload=function(){_i.onmessage=function(){var e="\n SELECT name, sql\n FROM sqlite_master\n WHERE type='table' AND name NOT LIKE 'sqlite_%';";_i.onmessage=function(e){yi.commit("saveSchema",e.data.results[0].values),"/editor"!==fi.currentRoute.path&&fi.push("/editor")},_i.postMessage({action:"exec",sql:e})},yi.commit("saveDbFile",n.result);try{_i.postMessage({action:"open",buffer:n.result},[n.result])}catch(e){_i.postMessage({action:"open",buffer:n.result})}},n.readAsArrayBuffer(i)},execute:function(e){return new Promise((function(t,i){_i.onmessage=function(e){e.data.error&&i(e.data.error),t(e.data.results[0])},_i.postMessage({action:"exec",sql:e})}))}};i("017d"),i("33da"),i("6d26"),i("bebf"),i("7432"),i("4a8d");n["default"].use(wi["VuePlugin"]),n["default"].use(xi.a),n["default"].config.productionTip=!1,n["default"].prototype.$db=Si,new n["default"]({router:fi,store:yi,render:function(e){return e(l)}}).$mount("#app")},"5ced":function(e,t,i){"use strict";var n=i("aaef"),s=i.n(n);s.a},"5e1a":function(e,t,i){},"60d6":function(e,t,i){},6317:function(e,t,i){},"667d":function(e,t,i){"use strict";var n=i("0532"),s=i.n(n);s.a},"69e6":function(e,t,i){e.exports=i.p+"img/checkbox_checked_light.611c4f86.svg"},"69f1":function(e,t,i){"use strict";var n=i("8d5f"),s=i.n(n);s.a},"6d26":function(e,t,i){},"708e":function(e,t,i){"use strict";var n=i("de94"),s=i.n(n);s.a},7432:function(e,t,i){},"74f7":function(e,t,i){"use strict";var n=i("0f3f"),s=i.n(n);s.a},"76c2":function(e,t,i){"use strict";var n=i("9790"),s=i.n(n);s.a},"85ec":function(e,t,i){},"8d5f":function(e,t,i){},"8e6c":function(e,t,i){"use strict";var n=i("fc59"),s=i.n(n);s.a},"91ed":function(e,t,i){},"93dd":function(e,t,i){e.exports=i.p+"img/checkbox_checked.62e65660.svg"},9445:function(e,t,i){"use strict";var n=i("60d6"),s=i.n(n);s.a},9790:function(e,t,i){},"9bdd":function(e,t,i){},a231:function(e,t,i){"use strict";var n=i("2c34"),s=i.n(n);s.a},aaef:function(e,t,i){},b067:function(e,t,i){"use strict";var n=i("91ed"),s=i.n(n);s.a},b32e:function(e,t,i){},b7c0:function(e,t,i){"use strict";var n=i("4531"),s=i.n(n);s.a},bb32:function(e,t,i){},bebf:function(e,t,i){},d24b:function(e,t,i){"use strict";var n=i("4fab"),s=i.n(n);s.a},d2c9:function(e,t,i){},da25:function(e,t,i){"use strict";var n=i("1dd6"),s=i.n(n);s.a},dafe:function(e,t,i){},db39:function(e,t,i){e.exports=i.p+"img/info.881fd1dc.svg"},de94:function(e,t,i){},e0e8:function(e,t,i){"use strict";var n=i("9bdd"),s=i.n(n);s.a},e2a3:function(e,t,i){"use strict";var n=i("5e1a"),s=i.n(n);s.a},e506:function(e,t,i){},ecf7:function(e,t,i){"use strict";var n=i("fe29"),s=i.n(n);s.a},f764:function(e,t,i){"use strict";var n=i("f90f"),s=i.n(n);s.a},f90f:function(e,t,i){},fc59:function(e,t,i){},fe29:function(e,t,i){}});
//# sourceMappingURL=app.c8c4107c.js.map