{"version":3,"sources":["webpack:///./src/components/datatable/datatable.vue?5649","webpack:///src/components/datatable/datatable.vue","webpack:///./src/components/datatable/datatable.vue?1f63","webpack:///./node_modules/quasar/src/components/table/table-top.js","webpack:///./node_modules/quasar/src/components/table/QTh.js","webpack:///./node_modules/quasar/src/components/table/table-header.js","webpack:///./node_modules/quasar/src/components/table/table-body.js","webpack:///./node_modules/quasar/src/components/table/table-bottom.js","webpack:///./node_modules/quasar/src/components/table/table-grid.js","webpack:///./node_modules/quasar/src/components/markup-table/QMarkupTable.js","webpack:///./node_modules/quasar/src/components/table/get-table-middle.js","webpack:///./node_modules/quasar/src/components/virtual-scroll/QVirtualScroll.js","webpack:///./node_modules/quasar/src/components/linear-progress/QLinearProgress.js","webpack:///./node_modules/quasar/src/utils/sort.js","webpack:///./node_modules/quasar/src/components/table/table-sort.js","webpack:///./node_modules/quasar/src/components/table/table-filter.js","webpack:///./node_modules/quasar/src/components/table/table-pagination.js","webpack:///./node_modules/quasar/src/components/table/table-row-selection.js","webpack:///./node_modules/quasar/src/components/table/table-row-expand.js","webpack:///./node_modules/quasar/src/components/table/table-column-selection.js","webpack:///./node_modules/quasar/src/components/table/QTable.js","webpack:///./src/components/datatable/datatable.vue","webpack:///./src/components/datatable/datatable.vue?4024","webpack:///./node_modules/quasar/src/mixins/fullscreen.js","webpack:///./node_modules/quasar/src/components/table/QTd.js"],"names":["_vm","this","_h","$createElement","_c","_self","staticStyle","selection","ref","class","sticky","darkDataTable","$q","dark","isActive","attrs","data","columns","filter","c","hide","separator","pagination","flat","grid","customFilter","vScroll","rowKey","selected","hidePagination","on","$event","handleClick","handleDoubleClick","onSelection","scopedSlots","_u","_l","column","key","fn","props","_t","_v","_s","value","staticRenderFns","computed","marginalsScope","computedPagination","pagesNumber","isFirstPage","isLastPage","firstPage","prevPage","nextPage","lastPage","inFullscreen","toggleFullscreen","methods","__getTopDiv","h","child","top","$scopedSlots","topLeft","topRight","topSelection","hasSelection","hasSelectionMode","rowsSelectedNumber","staticClass","slice","push","title","titleClass","length","Vue","extend","name","mixins","ListenersMixin","Object","autoWidth","Boolean","render","col","qListeners","slot","$vnode","colsMap","sortable","action","align","uniqueSlot","QIcon","iconSet","table","arrowUp","__iconClass","evt","click","sort","$emit","style","headerStyle","__thClass","headerSelectedValue","someRowsSelected","allRowsSelected","__getTHead","__getTHeadTR","loading","colspan","computedColspan","__getProgress","header","headerCell","__getHeaderScope","computedCols","map","headerCellCol","QTh","label","singleSelection","unshift","multipleSelection","content","QCheckbox","color","isDark","dense","cache","input","__onMultipleSelectionSet","tableHeaderStyle","tableHeaderClass","assign","cols","computedColsMap","defineProperty","get","set","configurable","enumerable","partialSelected","multipleSelect","val","__updateSelection","computedRows","getRowKey","__getTBodyTR","row","bodySlot","pageIndex","isRowSelected","__getBodyScope","__trClass","bodyCell","bodyCellCol","__getBodyCellScope","__tdClass","__tdStyle","getCellValue","__getBodySelectionScope","adding","dblclick","contextmenu","__getTBody","body","topRow","bottomRow","concat","__getVirtualTBodyTR","item","index","__injectBodyCommonScope","rowIndex","firstRowIndex","isRowExpanded","__updateExpanded","field","format","hideBottom","hideSelectedBanner","hideNoData","navIcon","ico","iconFirstPage","iconPrevPage","iconNextPage","iconLastPage","lang","rtl","reverse","__getBottomDiv","nothingToDisplay","message","loadingLabel","noResultsLabel","noResults","noDataLabel","noData","children","icon","warning","bottom","selectedRowsLabel","selectedRecords","__getPaginationDiv","control","rowsPerPage","paginationLabel","paginationSlot","hasOpts","rowsPerPageOptions","rowsPerPageLabel","recordsPerPage","QSelect","options","computedRowsPerPageOptions","displayValue","allRows","borderless","optionsDense","optionsCover","pag","setPagination","page","Math","min","lastRowIndex","computedRowsNumber","filteredSortedRowsNumber","btnProps","round","size","QBtn","disable","__getGridHeader","gridHeader","__getGridBody","scope","QSeparator","cardDefaultClass","cardClass","cardStyle","cardContainerClass","cardContainerStyle","DarkMixin","bordered","square","type","String","default","validator","v","includes","wrapCells","classes","conf","comps","list","QList","QMarkupTable","AttrsMixin","VirtualScroll","items","Array","itemsFn","Function","itemsSize","Number","scrollTarget","virtualScrollLength","parseInt","isArray","virtualScrollScope","mapFn","i","virtualScrollSliceRange","from","to","virtualScrollHorizontal","tabindex","watch","__resetVirtualScroll","__unconfigureScrollTarget","__configureScrollTarget","__getVirtualScrollEl","$el","__getVirtualScrollTarget","__scrollTarget","getScrollTarget","addEventListener","__onVirtualScrollEvt","listenOpts","passive","removeEventListener","beforeMount","mounted","beforeDestroy","__padVirtualScroll","before","mergeSlot","getTableMiddle","qAttrs","console","error","width","transform","getSizeMixin","xs","sm","md","lg","xl","buffer","trackColor","stripe","indeterminate","query","rounded","instantFeedback","motion","trackStyle","trackClass","modelStyle","modelClasses","stripeStyle","stripeClass","role","sizeStyle","sortDate","a","b","Date","sortMethod","sortBy","descending","colList","find","def","dir","A","B","isNumber","isDate","s","toLocaleString","toLowerCase","columnSortOrder","columnToSort","sortOrder","binaryStateSort","filterMethod","rows","terms","cellValue","lowerTerms","some","haystack","indexOf","handler","$nextTick","deep","samePagination","oldPag","newPag","prop","fixPagination","p","innerPagination","max","ceil","opts","count","oldLastPage","currentPage","__sendServerRequest","requestServerInteraction","forceServerRequest","newPagination","isServerSide","created","selectedKeys","keys","forEach","every","clearSelection","added","payload","getVal","expanded","innerExpanded","setExpanded","add","target","splice","visibleColumns","toUpperCase","required","alignClass","headerClasses","names","tableColspan","commonVirtPropsObj","commonVirtPropsList","FullscreenMixin","Top","TableHeader","TableBody","Bottom","TableGrid","Sort","Filter","Pagination","RowSelection","RowExpand","ColumnSelection","hideHeader","virtualScroll","tableStyle","tableClass","needsReset","hasVirtScroll","$refs","virtScroll","reset","join","filteredSortedRows","rowsNumber","__containerClass","containerClass","virtProps","virtualScrollItemSize","__getBody","resetVirtualScroll","virtSlots","topContent","after","QVirtualScroll","__onVScroll","scrollTo","toIndex","edge","rowEl","querySelector","offsetTop","direction","scrollTop","info","QLinearProgress","component","QTable","QTd","fullscreen","noRouteFullscreenExit","$route","exitFullscreen","setFullscreen","container","parentNode","replaceChild","fullscreenFillerNode","document","appendChild","classList","__historyFullscreen","History","remove","scrollIntoView","setTimeout","createElement","noHover"],"mappings":"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","file":"js/associations~awards~clubInfo~competitions~competitionsEventView~competitionsView~dashboard~disciplin~7bb74a4e.3c783564.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"100%\",\"width\":\"100%\"}},[(_vm.selection == 'multiple')?_c('q-table',{ref:\"table\",class:{\n sticky: _vm.sticky,\n darkDataTable: _vm.$q.dark.isActive\n },staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.data,\"columns\":_vm.columns.filter(function (c) { return !c.hide; }),\"separator\":_vm.separator,\"rows-per-page-options\":[0],\"pagination\":_vm.pagination,\"flat\":_vm.flat,\"grid\":_vm.grid,\"filter\":_vm.filter,\"filter-method\":_vm.customFilter,\"virtual-scroll\":_vm.vScroll,\"row-key\":_vm.rowKey,\"selected\":_vm.selected,\"selection\":_vm.selection,\"hide-pagination\":_vm.hidePagination},on:{\"update:pagination\":function($event){_vm.pagination=$event},\"row-click\":_vm.handleClick,\"row-dblclick\":_vm.handleDoubleClick,\"update:selected\":function($event){_vm.selected=$event},\"selection\":_vm.onSelection},scopedSlots:_vm._u([_vm._l((_vm.columns),function(column){return {key:(\"body-cell-\" + (column.name)),fn:function(props){return [_vm._t((\"body-cell-\" + (column.name)),function(){return [_c('q-td',{attrs:{\"props\":props}},[_vm._v(\" \"+_vm._s(props.value)+\" \")])]},{\"props\":props})]}}})],null,true)}):_c('q-table',{ref:\"table\",class:{\n sticky: _vm.sticky,\n darkDataTable: _vm.$q.dark.isActive\n },staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.data,\"columns\":_vm.columns.filter(function (c) { return !c.hide; }),\"separator\":_vm.separator,\"rows-per-page-options\":[0],\"pagination\":_vm.pagination,\"flat\":_vm.flat,\"grid\":_vm.grid,\"filter\":_vm.filter,\"filter-method\":_vm.customFilter,\"virtual-scroll\":_vm.vScroll,\"row-key\":_vm.rowKey,\"selected\":_vm.selected,\"hide-pagination\":_vm.hidePagination},on:{\"update:pagination\":function($event){_vm.pagination=$event},\"row-click\":_vm.handleClick,\"row-dblclick\":_vm.handleDoubleClick,\"update:selected\":function($event){_vm.selected=$event}},scopedSlots:_vm._u([_vm._l((_vm.columns),function(column){return {key:(\"body-cell-\" + (column.name)),fn:function(props){return [_vm._t((\"body-cell-\" + (column.name)),function(){return [_c('q-td',{attrs:{\"props\":props}},[_vm._v(\" \"+_vm._s(props.value)+\" \")])]},{\"props\":props})]}}})],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n !c.hide)\"\n :separator=\"separator\"\n :rows-per-page-options=\"[0]\"\n :pagination.sync=\"pagination\"\n :flat=\"flat\"\n :grid=\"grid\"\n :filter=\"filter\"\n :filter-method=\"customFilter\"\n :virtual-scroll=\"vScroll\"\n :row-key=\"rowKey\"\n @row-click=\"handleClick\"\n @row-dblclick=\"handleDoubleClick\"\n :selected.sync=\"selected\"\n :hide-pagination=\"hidePagination\"\n :class=\"{\n sticky: sticky,\n darkDataTable: $q.dark.isActive\n }\"\n >\n \n \n \n {{ props.value }}\n \n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./datatable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./datatable.vue?vue&type=script&lang=js&\"","export default {\n computed: {\n marginalsScope () {\n return {\n pagination: this.computedPagination,\n pagesNumber: this.pagesNumber,\n isFirstPage: this.isFirstPage,\n isLastPage: this.isLastPage,\n firstPage: this.firstPage,\n prevPage: this.prevPage,\n nextPage: this.nextPage,\n lastPage: this.lastPage,\n\n inFullscreen: this.inFullscreen,\n toggleFullscreen: this.toggleFullscreen\n }\n }\n },\n\n methods: {\n __getTopDiv (h) {\n const\n top = this.$scopedSlots.top,\n topLeft = this.$scopedSlots['top-left'],\n topRight = this.$scopedSlots['top-right'],\n topSelection = this.$scopedSlots['top-selection'],\n hasSelection = this.hasSelectionMode === true &&\n topSelection !== void 0 &&\n this.rowsSelectedNumber > 0,\n staticClass = 'q-table__top relative-position row items-center'\n\n if (top !== void 0) {\n return h('div', { staticClass }, [ top(this.marginalsScope) ])\n }\n\n let child\n\n if (hasSelection === true) {\n child = topSelection(this.marginalsScope).slice()\n }\n else {\n child = []\n\n if (topLeft !== void 0) {\n child.push(\n h('div', { staticClass: 'q-table-control' }, [\n topLeft(this.marginalsScope)\n ])\n )\n }\n else if (this.title) {\n child.push(\n h('div', { staticClass: 'q-table__control' }, [\n h('div', { staticClass: 'q-table__title', class: this.titleClass }, this.title)\n ])\n )\n }\n }\n\n if (topRight !== void 0) {\n child.push(h('div', { staticClass: 'q-table__separator col' }))\n child.push(\n h('div', { staticClass: 'q-table__control' }, [\n topRight(this.marginalsScope)\n ])\n )\n }\n\n if (child.length === 0) {\n return\n }\n\n return h('div', { staticClass }, child)\n }\n }\n}\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot, uniqueSlot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QTh',\n\n mixins: [ ListenersMixin ],\n\n props: {\n props: Object,\n autoWidth: Boolean\n },\n\n render (h) {\n const on = { ...this.qListeners }\n\n if (this.props === void 0) {\n return h('th', {\n on,\n class: this.autoWidth === true ? 'q-table--col-auto-width' : null\n }, slot(this, 'default'))\n }\n\n let col, child\n const name = this.$vnode.key\n\n if (name) {\n col = this.props.colsMap[name]\n if (col === void 0) { return }\n }\n else {\n col = this.props.col\n }\n\n if (col.sortable === true) {\n const action = col.align === 'right'\n ? 'unshift'\n : 'push'\n\n child = uniqueSlot(this, 'default', [])\n child[action](\n h(QIcon, {\n props: { name: this.$q.iconSet.table.arrowUp },\n staticClass: col.__iconClass\n })\n )\n }\n else {\n child = slot(this, 'default')\n }\n\n const evt = col.sortable === true\n ? {\n click: evt => {\n this.props.sort(col)\n this.$emit('click', evt)\n }\n }\n : {}\n\n return h('th', {\n on: { ...on, ...evt },\n style: col.headerStyle,\n class: col.__thClass +\n (this.autoWidth === true ? ' q-table--col-auto-width' : '')\n }, child)\n }\n})\n","import QCheckbox from '../checkbox/QCheckbox.js'\nimport QTh from './QTh.js'\n\nimport cache from '../../utils/cache.js'\n\nexport default {\n computed: {\n headerSelectedValue () {\n return this.someRowsSelected === true\n ? null\n : this.allRowsSelected\n }\n },\n\n methods: {\n __getTHead (h) {\n const child = this.__getTHeadTR(h)\n\n if (this.loading === true && this.$scopedSlots.loading === void 0) {\n child.push(\n h('tr', { staticClass: 'q-table__progress' }, [\n h('th', {\n staticClass: 'relative-position',\n attrs: { colspan: this.computedColspan }\n }, this.__getProgress(h))\n ])\n )\n }\n\n return h('thead', child)\n },\n\n __getTHeadTR (h) {\n const\n header = this.$scopedSlots.header,\n headerCell = this.$scopedSlots['header-cell']\n\n if (header !== void 0) {\n return header(\n this.__getHeaderScope({ header: true })\n ).slice()\n }\n\n const child = this.computedCols.map(col => {\n const\n headerCellCol = this.$scopedSlots[`header-cell-${col.name}`],\n slot = headerCellCol !== void 0 ? headerCellCol : headerCell,\n props = this.__getHeaderScope({ col })\n\n return slot !== void 0\n ? slot(props)\n : h(QTh, {\n key: col.name,\n props: { props }\n }, col.label)\n })\n\n if (this.singleSelection === true && this.grid !== true) {\n child.unshift(h('th', { staticClass: 'q-table--col-auto-width' }, [' ']))\n }\n else if (this.multipleSelection === true) {\n const slot = this.$scopedSlots['header-selection']\n const content = slot !== void 0\n ? slot(this.__getHeaderScope({}))\n : [\n h(QCheckbox, {\n props: {\n color: this.color,\n value: this.headerSelectedValue,\n dark: this.isDark,\n dense: this.dense\n },\n on: cache(this, 'inp', {\n input: this.__onMultipleSelectionSet\n })\n })\n ]\n\n child.unshift(\n h('th', { staticClass: 'q-table--col-auto-width' }, content)\n )\n }\n\n return [\n h('tr', {\n style: this.tableHeaderStyle,\n class: this.tableHeaderClass\n }, child)\n ]\n },\n\n __getHeaderScope (data) {\n Object.assign(data, {\n cols: this.computedCols,\n sort: this.sort,\n colsMap: this.computedColsMap,\n color: this.color,\n dark: this.isDark,\n dense: this.dense\n })\n\n if (this.multipleSelection === true) {\n Object.defineProperty(data, 'selected', {\n get: () => this.headerSelectedValue,\n set: this.__onMultipleSelectionSet,\n configurable: true,\n enumerable: true\n })\n\n // TODO: remove in v2\n data.partialSelected = this.someRowsSelected\n data.multipleSelect = true\n }\n\n return data\n },\n\n __onMultipleSelectionSet (val) {\n if (this.someRowsSelected === true) {\n val = false\n }\n this.__updateSelection(\n this.computedRows.map(this.getRowKey),\n this.computedRows,\n val\n )\n }\n }\n}\n","import QCheckbox from '../checkbox/QCheckbox.js'\n\nexport default {\n methods: {\n __getTBodyTR (h, row, bodySlot, pageIndex) {\n const\n key = this.getRowKey(row),\n selected = this.isRowSelected(key)\n\n if (bodySlot !== void 0) {\n return bodySlot(\n this.__getBodyScope({\n key,\n row,\n pageIndex,\n __trClass: selected ? 'selected' : ''\n })\n )\n }\n\n const\n bodyCell = this.$scopedSlots['body-cell'],\n child = this.computedCols.map(col => {\n const\n bodyCellCol = this.$scopedSlots[`body-cell-${col.name}`],\n slot = bodyCellCol !== void 0 ? bodyCellCol : bodyCell\n\n return slot !== void 0\n ? slot(this.__getBodyCellScope({ key, row, pageIndex, col }))\n : h('td', {\n class: col.__tdClass(row),\n style: col.__tdStyle(row)\n }, this.getCellValue(col, row))\n })\n\n if (this.hasSelectionMode === true) {\n const slot = this.$scopedSlots['body-selection']\n const content = slot !== void 0\n ? slot(this.__getBodySelectionScope({ key, row, pageIndex }))\n : [\n h(QCheckbox, {\n props: {\n value: selected,\n color: this.color,\n dark: this.isDark,\n dense: this.dense\n },\n on: {\n input: (adding, evt) => {\n this.__updateSelection([ key ], [ row ], adding, evt)\n }\n }\n })\n ]\n\n child.unshift(\n h('td', { staticClass: 'q-table--col-auto-width' }, content)\n )\n }\n\n const data = { key, class: { selected }, on: {} }\n\n if (this.qListeners['row-click'] !== void 0) {\n data.class['cursor-pointer'] = true\n data.on.click = evt => {\n this.$emit('row-click', evt, row, pageIndex)\n }\n }\n\n if (this.qListeners['row-dblclick'] !== void 0) {\n data.class['cursor-pointer'] = true\n data.on.dblclick = evt => {\n this.$emit('row-dblclick', evt, row, pageIndex)\n }\n }\n\n if (this.qListeners['row-contextmenu'] !== void 0) {\n data.class['cursor-pointer'] = true\n data.on.contextmenu = evt => {\n this.$emit('row-contextmenu', evt, row, pageIndex)\n }\n }\n\n return h('tr', data, child)\n },\n\n __getTBody (h) {\n const\n body = this.$scopedSlots.body,\n topRow = this.$scopedSlots['top-row'],\n bottomRow = this.$scopedSlots['bottom-row']\n\n let child = this.computedRows.map(\n (row, pageIndex) => this.__getTBodyTR(h, row, body, pageIndex)\n )\n\n if (topRow !== void 0) {\n child = topRow({ cols: this.computedCols }).concat(child)\n }\n if (bottomRow !== void 0) {\n child = child.concat(bottomRow({ cols: this.computedCols }))\n }\n\n return h('tbody', child)\n },\n\n __getVirtualTBodyTR (h) {\n const body = this.$scopedSlots.body\n return props => this.__getTBodyTR(h, props.item, body, props.index)\n },\n\n __getBodyScope (data) {\n this.__injectBodyCommonScope(data)\n\n data.cols = data.cols.map(col => {\n const c = { ...col }\n Object.defineProperty(c, 'value', {\n get: () => this.getCellValue(col, data.row),\n configurable: true,\n enumerable: true\n })\n return c\n })\n\n return data\n },\n\n __getBodyCellScope (data) {\n this.__injectBodyCommonScope(data)\n\n Object.defineProperty(data, 'value', {\n get: () => this.getCellValue(data.col, data.row),\n configurable: true,\n enumerable: true\n })\n\n return data\n },\n\n __getBodySelectionScope (data) {\n this.__injectBodyCommonScope(data)\n return data\n },\n\n __injectBodyCommonScope (data) {\n Object.assign(data, {\n cols: this.computedCols,\n colsMap: this.computedColsMap,\n sort: this.sort,\n rowIndex: this.firstRowIndex + data.pageIndex,\n color: this.color,\n dark: this.isDark,\n dense: this.dense\n })\n\n this.hasSelectionMode === true && Object.defineProperty(data, 'selected', {\n get: () => this.isRowSelected(data.key),\n set: (adding, evt) => {\n this.__updateSelection([ data.key ], [ data.row ], adding, evt)\n },\n configurable: true,\n enumerable: true\n })\n\n Object.defineProperty(data, 'expand', {\n get: () => this.isRowExpanded(data.key),\n set: adding => {\n this.__updateExpanded(data.key, adding)\n },\n configurable: true,\n enumerable: true\n })\n },\n\n getCellValue (col, row) {\n const val = typeof col.field === 'function' ? col.field(row) : row[col.field]\n return col.format !== void 0 ? col.format(val, row) : val\n }\n }\n}\n","import QSelect from '../select/QSelect.js'\nimport QBtn from '../btn/QBtn.js'\nimport QIcon from '../icon/QIcon.js'\n\nimport cache from '../../utils/cache.js'\n\nconst staticClass = 'q-table__bottom row items-center'\n\nexport default {\n props: {\n hideBottom: Boolean,\n hideSelectedBanner: Boolean,\n hideNoData: Boolean,\n hidePagination: Boolean\n },\n\n computed: {\n navIcon () {\n const ico = [\n this.iconFirstPage || this.$q.iconSet.table.firstPage,\n this.iconPrevPage || this.$q.iconSet.table.prevPage,\n this.iconNextPage || this.$q.iconSet.table.nextPage,\n this.iconLastPage || this.$q.iconSet.table.lastPage\n ]\n return this.$q.lang.rtl === true ? ico.reverse() : ico\n }\n },\n\n methods: {\n __getBottomDiv (h) {\n if (this.hideBottom === true) {\n return\n }\n\n if (this.nothingToDisplay === true) {\n if (this.hideNoData === true) {\n return\n }\n\n const message = this.loading === true\n ? this.loadingLabel || this.$q.lang.table.loading\n : (this.filter ? this.noResultsLabel || this.$q.lang.table.noResults : this.noDataLabel || this.$q.lang.table.noData)\n\n const noData = this.$scopedSlots['no-data']\n const children = noData !== void 0\n ? [ noData({ message, icon: this.$q.iconSet.table.warning, filter: this.filter }) ]\n : [\n h(QIcon, {\n staticClass: 'q-table__bottom-nodata-icon',\n props: { name: this.$q.iconSet.table.warning }\n }),\n message\n ]\n\n return h('div', {\n staticClass: staticClass + ' q-table__bottom--nodata'\n }, children)\n }\n\n const bottom = this.$scopedSlots.bottom\n\n if (bottom !== void 0) {\n return h('div', { staticClass }, [ bottom(this.marginalsScope) ])\n }\n\n const child = this.hideSelectedBanner !== true && this.hasSelectionMode === true && this.rowsSelectedNumber > 0\n ? [\n h('div', { staticClass: 'q-table__control' }, [\n h('div', [\n (this.selectedRowsLabel || this.$q.lang.table.selectedRecords)(this.rowsSelectedNumber)\n ])\n ])\n ]\n : []\n\n if (this.hidePagination !== true) {\n return h('div', {\n staticClass: staticClass + ' justify-end'\n }, this.__getPaginationDiv(h, child))\n }\n\n if (child.length > 0) {\n return h('div', { staticClass }, child)\n }\n },\n\n __getPaginationDiv (h, child) {\n let control\n const\n { rowsPerPage } = this.computedPagination,\n paginationLabel = this.paginationLabel || this.$q.lang.table.pagination,\n paginationSlot = this.$scopedSlots.pagination,\n hasOpts = this.rowsPerPageOptions.length > 1\n\n child.push(\n h('div', { staticClass: 'q-table__separator col' })\n )\n\n if (hasOpts === true) {\n child.push(\n h('div', { staticClass: 'q-table__control' }, [\n h('span', { staticClass: 'q-table__bottom-item' }, [\n this.rowsPerPageLabel || this.$q.lang.table.recordsPerPage\n ]),\n h(QSelect, {\n staticClass: 'q-table__select inline q-table__bottom-item',\n props: {\n color: this.color,\n value: rowsPerPage,\n options: this.computedRowsPerPageOptions,\n displayValue: rowsPerPage === 0\n ? this.$q.lang.table.allRows\n : rowsPerPage,\n dark: this.isDark,\n borderless: true,\n dense: true,\n optionsDense: true,\n optionsCover: true\n },\n on: cache(this, 'pgSize', {\n input: pag => {\n this.setPagination({\n page: 1,\n rowsPerPage: pag.value\n })\n }\n })\n })\n ])\n )\n }\n\n if (paginationSlot !== void 0) {\n control = paginationSlot(this.marginalsScope)\n }\n else {\n control = [\n h('span', rowsPerPage !== 0 ? { staticClass: 'q-table__bottom-item' } : {}, [\n rowsPerPage\n ? paginationLabel(this.firstRowIndex + 1, Math.min(this.lastRowIndex, this.computedRowsNumber), this.computedRowsNumber)\n : paginationLabel(1, this.filteredSortedRowsNumber, this.computedRowsNumber)\n ])\n ]\n\n if (rowsPerPage !== 0 && this.pagesNumber > 1) {\n const btnProps = {\n color: this.color,\n round: true,\n dense: true,\n flat: true\n }\n\n if (this.dense === true) {\n btnProps.size = 'sm'\n }\n\n this.pagesNumber > 2 && control.push(\n h(QBtn, {\n key: 'pgFirst',\n props: {\n ...btnProps,\n icon: this.navIcon[0],\n disable: this.isFirstPage\n },\n on: cache(this, 'pgFirst', { click: this.firstPage })\n })\n )\n\n control.push(\n h(QBtn, {\n key: 'pgPrev',\n props: {\n ...btnProps,\n icon: this.navIcon[1],\n disable: this.isFirstPage\n },\n on: cache(this, 'pgPrev', { click: this.prevPage })\n }),\n\n h(QBtn, {\n key: 'pgNext',\n props: {\n ...btnProps,\n icon: this.navIcon[2],\n disable: this.isLastPage\n },\n on: cache(this, 'pgNext', { click: this.nextPage })\n })\n )\n\n this.pagesNumber > 2 && control.push(\n h(QBtn, {\n key: 'pgLast',\n props: {\n ...btnProps,\n icon: this.navIcon[3],\n disable: this.isLastPage\n },\n on: cache(this, 'pgLast', { click: this.lastPage })\n })\n )\n }\n }\n\n child.push(\n h('div', { staticClass: 'q-table__control' }, control)\n )\n\n return child\n }\n }\n}\n","import QCheckbox from '../checkbox/QCheckbox.js'\nimport QSeparator from '../separator/QSeparator.js'\n\nexport default {\n methods: {\n __getGridHeader (h) {\n const child = this.gridHeader === true\n ? [\n h('table', { staticClass: 'q-table' }, [\n this.__getTHead(h)\n ])\n ]\n : (\n this.loading === true && this.$scopedSlots.loading === void 0\n ? this.__getProgress(h)\n : void 0\n )\n\n return h('div', { staticClass: 'q-table__middle' }, child)\n },\n\n __getGridBody (h) {\n const item = this.$scopedSlots.item !== void 0\n ? this.$scopedSlots.item\n : scope => {\n const child = scope.cols.map(\n col => h('div', { staticClass: 'q-table__grid-item-row' }, [\n h('div', { staticClass: 'q-table__grid-item-title' }, [ col.label ]),\n h('div', { staticClass: 'q-table__grid-item-value' }, [ col.value ])\n ])\n )\n\n if (this.hasSelectionMode === true) {\n const slot = this.$scopedSlots['body-selection']\n const content = slot !== void 0\n ? slot(scope)\n : [\n h(QCheckbox, {\n props: {\n value: scope.selected,\n color: this.color,\n dark: this.isDark,\n dense: this.dense\n },\n on: {\n input: (adding, evt) => {\n this.__updateSelection([ scope.key ], [ scope.row ], adding, evt)\n }\n }\n })\n ]\n\n child.unshift(\n h('div', { staticClass: 'q-table__grid-item-row' }, content),\n h(QSeparator, { props: { dark: this.isDark } })\n )\n }\n\n const data = {\n staticClass: 'q-table__grid-item-card' + this.cardDefaultClass,\n class: this.cardClass,\n style: this.cardStyle,\n on: {}\n }\n\n if (this.qListeners['row-click'] !== void 0 || this.qListeners['row-dblclick'] !== void 0) {\n data.staticClass += ' cursor-pointer'\n }\n\n if (this.qListeners['row-click'] !== void 0) {\n data.on.click = evt => {\n this.$emit('row-click', evt, scope.row, scope.pageIndex)\n }\n }\n\n if (this.qListeners['row-dblclick'] !== void 0) {\n data.on.dblclick = evt => {\n this.$emit('row-dblclick', evt, scope.row, scope.pageIndex)\n }\n }\n\n return h('div', {\n staticClass: 'q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3',\n class: scope.selected === true ? 'q-table__grid-item--selected' : ''\n }, [\n h('div', data, child)\n ])\n }\n\n return h('div', {\n staticClass: 'q-table__grid-content row',\n class: this.cardContainerClass,\n style: this.cardContainerStyle\n }, this.computedRows.map((row, pageIndex) => {\n return item(this.__getBodyScope({\n key: this.getRowKey(row),\n row,\n pageIndex\n }))\n }))\n }\n }\n}\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QMarkupTable',\n\n mixins: [ DarkMixin, ListenersMixin ],\n\n props: {\n dense: Boolean,\n flat: Boolean,\n bordered: Boolean,\n square: Boolean,\n separator: {\n type: String,\n default: 'horizontal',\n validator: v => ['horizontal', 'vertical', 'cell', 'none'].includes(v)\n },\n wrapCells: Boolean\n },\n\n computed: {\n classes () {\n return `q-table--${this.separator}-separator` +\n (this.isDark === true ? ` q-table--dark q-table__card--dark q-dark` : '') +\n (this.dense === true ? ` q-table--dense` : '') +\n (this.flat === true ? ` q-table--flat` : '') +\n (this.bordered === true ? ` q-table--bordered` : '') +\n (this.square === true ? ` q-table--square` : '') +\n (this.wrapCells === false ? ` q-table--no-wrap` : '')\n }\n },\n\n render (h) {\n return h('div', {\n staticClass: 'q-markup-table q-table__container q-table__card',\n class: this.classes,\n on: { ...this.qListeners }\n }, [\n h('table', { staticClass: 'q-table' }, slot(this, 'default'))\n ])\n }\n})\n","export default function (h, conf, content) {\n return h('div', {\n ...conf,\n staticClass: 'q-table__middle' + (conf.staticClass !== void 0 ? ' ' + conf.staticClass : '')\n }, [\n h('table', { staticClass: 'q-table' }, content)\n ])\n}\n","import Vue from 'vue'\n\nimport QList from '../item/QList.js'\nimport QMarkupTable from '../markup-table/QMarkupTable.js'\nimport getTableMiddle from '../table/get-table-middle.js'\n\nimport VirtualScroll from '../../mixins/virtual-scroll.js'\nimport AttrsMixin from '../../mixins/attrs.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { getScrollTarget } from '../../utils/scroll.js'\nimport { listenOpts } from '../../utils/event.js'\nimport { mergeSlot } from '../../utils/slot.js'\n\nconst comps = {\n list: QList,\n table: QMarkupTable\n}\n\nexport default Vue.extend({\n name: 'QVirtualScroll',\n\n mixins: [ AttrsMixin, ListenersMixin, VirtualScroll ],\n\n props: {\n type: {\n type: String,\n default: 'list',\n validator: v => ['list', 'table', '__qtable'].includes(v)\n },\n\n items: {\n type: Array,\n default: () => []\n },\n\n itemsFn: Function,\n itemsSize: Number,\n\n scrollTarget: {\n default: void 0\n }\n },\n\n computed: {\n virtualScrollLength () {\n return this.itemsSize >= 0 && this.itemsFn !== void 0\n ? parseInt(this.itemsSize, 10)\n : (Array.isArray(this.items) ? this.items.length : 0)\n },\n\n virtualScrollScope () {\n if (this.virtualScrollLength === 0) {\n return []\n }\n\n const mapFn = (item, i) => ({\n index: this.virtualScrollSliceRange.from + i,\n item\n })\n\n if (this.itemsFn === void 0) {\n return this.items.slice(this.virtualScrollSliceRange.from, this.virtualScrollSliceRange.to).map(mapFn)\n }\n\n return this.itemsFn(this.virtualScrollSliceRange.from, this.virtualScrollSliceRange.to - this.virtualScrollSliceRange.from).map(mapFn)\n },\n\n classes () {\n return 'q-virtual-scroll q-virtual-scroll' + (this.virtualScrollHorizontal === true ? '--horizontal' : '--vertical') +\n (this.scrollTarget !== void 0 ? '' : ' scroll')\n },\n\n attrs () {\n return this.scrollTarget !== void 0 ? void 0 : { tabindex: 0 }\n }\n },\n\n watch: {\n virtualScrollLength () {\n this.__resetVirtualScroll()\n },\n\n scrollTarget () {\n this.__unconfigureScrollTarget()\n this.__configureScrollTarget()\n }\n },\n\n methods: {\n __getVirtualScrollEl () {\n return this.$el\n },\n\n __getVirtualScrollTarget () {\n return this.__scrollTarget\n },\n\n __configureScrollTarget () {\n this.__scrollTarget = getScrollTarget(this.$el, this.scrollTarget)\n this.__scrollTarget.addEventListener('scroll', this.__onVirtualScrollEvt, listenOpts.passive)\n },\n\n __unconfigureScrollTarget () {\n if (this.__scrollTarget !== void 0) {\n this.__scrollTarget.removeEventListener('scroll', this.__onVirtualScrollEvt, listenOpts.passive)\n this.__scrollTarget = void 0\n }\n }\n },\n\n beforeMount () {\n this.__resetVirtualScroll()\n },\n\n mounted () {\n this.__configureScrollTarget()\n },\n\n beforeDestroy () {\n this.__unconfigureScrollTarget()\n },\n\n render (h) {\n if (this.$scopedSlots.default === void 0) {\n console.error(`QVirtualScroll: default scoped slot is required for rendering`, this)\n return\n }\n\n let child = this.__padVirtualScroll(\n h,\n this.type === 'list' ? 'div' : 'tbody',\n this.virtualScrollScope.map(this.$scopedSlots.default)\n )\n\n if (this.$scopedSlots.before !== void 0) {\n child = this.$scopedSlots.before().concat(child)\n }\n\n child = mergeSlot(child, this, 'after')\n\n return this.type === '__qtable'\n ? getTableMiddle(h, { staticClass: this.classes }, child)\n : h(comps[this.type], {\n class: this.classes,\n attrs: this.attrs,\n props: this.qAttrs,\n on: { ...this.qListeners }\n }, child)\n }\n})\n","import Vue from 'vue'\n\nimport DarkMixin from '../../mixins/dark.js'\nimport { getSizeMixin } from '../../mixins/size.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { mergeSlot } from '../../utils/slot.js'\n\nfunction width (val, reverse, $q) {\n return {\n transform: reverse === true\n ? `translateX(${$q.lang.rtl === true ? '-' : ''}100%) scale3d(${-val},1,1)`\n : `scale3d(${val},1,1)`\n }\n}\n\nexport default Vue.extend({\n name: 'QLinearProgress',\n\n mixins: [\n ListenersMixin,\n DarkMixin,\n getSizeMixin({\n xs: 2,\n sm: 4,\n md: 6,\n lg: 10,\n xl: 14\n })\n ],\n\n props: {\n value: {\n type: Number,\n default: 0\n },\n buffer: Number,\n\n color: String,\n trackColor: String,\n\n reverse: Boolean,\n stripe: Boolean,\n indeterminate: Boolean,\n query: Boolean,\n rounded: Boolean,\n\n instantFeedback: Boolean\n },\n\n computed: {\n motion () {\n return this.indeterminate === true || this.query === true\n },\n\n classes () {\n return 'q-linear-progress' +\n (this.color !== void 0 ? ` text-${this.color}` : '') +\n (this.reverse === true || this.query === true ? ' q-linear-progress--reverse' : '') +\n (this.rounded === true ? ' rounded-borders' : '')\n },\n\n trackStyle () {\n return width(this.buffer !== void 0 ? this.buffer : 1, this.reverse, this.$q)\n },\n\n trackClass () {\n return `q-linear-progress__track--with${this.instantFeedback === true ? 'out' : ''}-transition` +\n ` q-linear-progress__track--${this.isDark === true ? 'dark' : 'light'}` +\n (this.trackColor !== void 0 ? ` bg-${this.trackColor}` : '')\n },\n\n modelStyle () {\n return width(this.motion === true ? 1 : this.value, this.reverse, this.$q)\n },\n\n modelClasses () {\n return `q-linear-progress__model--with${this.instantFeedback === true ? 'out' : ''}-transition` +\n ` q-linear-progress__model--${this.motion === true ? 'in' : ''}determinate`\n },\n\n stripeStyle () {\n return { width: (this.value * 100) + '%' }\n },\n\n stripeClass () {\n return this.reverse === true ? 'absolute-right' : 'absolute-left'\n },\n\n attrs () {\n return {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 1,\n 'aria-valuenow': this.indeterminate === true ? void 0 : this.value\n }\n }\n },\n\n render (h) {\n const child = [\n h('div', {\n staticClass: 'q-linear-progress__track absolute-full',\n style: this.trackStyle,\n class: this.trackClass\n }),\n\n h('div', {\n staticClass: 'q-linear-progress__model absolute-full',\n style: this.modelStyle,\n class: this.modelClasses\n })\n ]\n\n this.stripe === true && this.motion === false && child.push(\n h('div', {\n staticClass: 'q-linear-progress__stripe',\n style: this.stripeStyle,\n class: this.stripeClass\n })\n )\n\n return h('div', {\n style: this.sizeStyle,\n class: this.classes,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, mergeSlot(child, this, 'default'))\n }\n})\n","export function sortString (a, b) {\n if (typeof a !== 'string') {\n throw new TypeError('The value for sorting must be a String')\n }\n return a.localeCompare(b)\n}\n\nexport function sortNumber (a, b) {\n return a - b\n}\n\nexport function sortDate (a, b) {\n return (new Date(a)) - (new Date(b))\n}\n\nexport function sortBoolean (a, b) {\n return a && !b\n ? -1\n : (!a && b ? 1 : 0)\n}\n","import { sortDate } from '../../utils/sort.js'\nimport { isNumber, isDate } from '../../utils/is.js'\n\nexport default {\n props: {\n sortMethod: {\n type: Function,\n default (data, sortBy, descending) {\n const col = this.colList.find(def => def.name === sortBy)\n if (col === void 0 || col.field === void 0) {\n return data\n }\n\n const\n dir = descending === true ? -1 : 1,\n val = typeof col.field === 'function'\n ? v => col.field(v)\n : v => v[col.field]\n\n return data.sort((a, b) => {\n let\n A = val(a),\n B = val(b)\n\n if (A === null || A === void 0) {\n return -1 * dir\n }\n if (B === null || B === void 0) {\n return 1 * dir\n }\n if (col.sort !== void 0) {\n return col.sort(A, B, a, b) * dir\n }\n if (isNumber(A) === true && isNumber(B) === true) {\n return (A - B) * dir\n }\n if (isDate(A) === true && isDate(B) === true) {\n return sortDate(A, B) * dir\n }\n if (typeof A === 'boolean' && typeof B === 'boolean') {\n return (A - B) * dir\n }\n\n [A, B] = [A, B].map(s => (s + '').toLocaleString().toLowerCase())\n\n return A < B\n ? -1 * dir\n : (A === B ? 0 : dir)\n })\n }\n },\n\n columnSortOrder: {\n type: String,\n validator: v => v === 'ad' || v === 'da',\n default: 'ad'\n }\n },\n\n computed: {\n columnToSort () {\n const { sortBy } = this.computedPagination\n\n if (sortBy) {\n return this.colList.find(def => def.name === sortBy) || null\n }\n }\n },\n\n methods: {\n sort (col /* String(col name) or Object(col definition) */) {\n let sortOrder = this.columnSortOrder\n\n if (col === Object(col)) {\n if (col.sortOrder) {\n sortOrder = col.sortOrder\n }\n\n col = col.name\n }\n else {\n const def = this.colList.find(def => def.name === col)\n if (def !== void 0 && def.sortOrder) {\n sortOrder = def.sortOrder\n }\n }\n\n let { sortBy, descending } = this.computedPagination\n\n if (sortBy !== col) {\n sortBy = col\n descending = sortOrder === 'da'\n }\n else if (this.binaryStateSort === true) {\n descending = !descending\n }\n else if (descending === true) {\n if (sortOrder === 'ad') {\n sortBy = null\n }\n else {\n descending = false\n }\n }\n else { // ascending\n if (sortOrder === 'ad') {\n descending = true\n }\n else {\n sortBy = null\n }\n }\n\n this.setPagination({ sortBy, descending, page: 1 })\n }\n }\n}\n","export default {\n props: {\n filter: [String, Object],\n filterMethod: {\n type: Function,\n default (rows, terms, cols = this.computedCols, cellValue = this.getCellValue) {\n const lowerTerms = terms ? terms.toLowerCase() : ''\n return rows.filter(\n row => cols.some(col => {\n const val = cellValue(col, row) + ''\n const haystack = (val === 'undefined' || val === 'null') ? '' : val.toLowerCase()\n return haystack.indexOf(lowerTerms) !== -1\n })\n )\n }\n }\n },\n\n watch: {\n filter: {\n handler () {\n this.$nextTick(() => {\n this.setPagination({ page: 1 }, true)\n })\n },\n deep: true\n }\n }\n}\n","function samePagination (oldPag, newPag) {\n for (const prop in newPag) {\n if (newPag[prop] !== oldPag[prop]) {\n return false\n }\n }\n return true\n}\n\nfunction fixPagination (p) {\n if (p.page < 1) {\n p.page = 1\n }\n if (p.rowsPerPage !== void 0 && p.rowsPerPage < 1) {\n p.rowsPerPage = 0\n }\n return p\n}\n\nexport default {\n props: {\n pagination: Object,\n rowsPerPageOptions: {\n type: Array,\n default: () => [ 5, 7, 10, 15, 20, 25, 50, 0 ]\n }\n },\n\n computed: {\n computedPagination () {\n const pag = this.qListeners['update:pagination'] !== void 0\n ? { ...this.innerPagination, ...this.pagination }\n : this.innerPagination\n\n return fixPagination(pag)\n },\n\n firstRowIndex () {\n const { page, rowsPerPage } = this.computedPagination\n return (page - 1) * rowsPerPage\n },\n\n lastRowIndex () {\n const { page, rowsPerPage } = this.computedPagination\n return page * rowsPerPage\n },\n\n isFirstPage () {\n return this.computedPagination.page === 1\n },\n\n pagesNumber () {\n return this.computedPagination.rowsPerPage === 0\n ? 1\n : Math.max(\n 1,\n Math.ceil(this.computedRowsNumber / this.computedPagination.rowsPerPage)\n )\n },\n\n isLastPage () {\n return this.lastRowIndex === 0\n ? true\n : this.computedPagination.page >= this.pagesNumber\n },\n\n computedRowsPerPageOptions () {\n const opts = this.rowsPerPageOptions.includes(this.innerPagination.rowsPerPage)\n ? this.rowsPerPageOptions\n : [ this.innerPagination.rowsPerPage ].concat(this.rowsPerPageOptions)\n\n return opts.map(count => ({\n label: count === 0 ? this.$q.lang.table.allRows : '' + count,\n value: count\n }))\n }\n },\n\n watch: {\n pagesNumber (lastPage, oldLastPage) {\n if (lastPage === oldLastPage) {\n return\n }\n\n const currentPage = this.computedPagination.page\n if (lastPage && !currentPage) {\n this.setPagination({ page: 1 })\n }\n else if (lastPage < currentPage) {\n this.setPagination({ page: lastPage })\n }\n }\n },\n\n methods: {\n __sendServerRequest (pagination) {\n this.requestServerInteraction({\n pagination,\n filter: this.filter\n })\n },\n\n setPagination (val, forceServerRequest) {\n const newPagination = fixPagination({\n ...this.computedPagination,\n ...val\n })\n\n if (samePagination(this.computedPagination, newPagination)) {\n if (this.isServerSide === true && forceServerRequest === true) {\n this.__sendServerRequest(newPagination)\n }\n return\n }\n\n if (this.isServerSide === true) {\n this.__sendServerRequest(newPagination)\n return\n }\n\n if (this.pagination !== void 0 && this.qListeners['update:pagination'] !== void 0) {\n this.$emit('update:pagination', newPagination)\n }\n else {\n this.innerPagination = newPagination\n }\n },\n\n firstPage () {\n this.setPagination({ page: 1 })\n },\n\n prevPage () {\n const { page } = this.computedPagination\n if (page > 1) {\n this.setPagination({ page: page - 1 })\n }\n },\n\n nextPage () {\n const { page, rowsPerPage } = this.computedPagination\n if (this.lastRowIndex > 0 && page * rowsPerPage < this.computedRowsNumber) {\n this.setPagination({ page: page + 1 })\n }\n },\n\n lastPage () {\n this.setPagination({ page: this.pagesNumber })\n }\n },\n\n created () {\n if (this.qListeners['update:pagination'] !== void 0) {\n this.$emit('update:pagination', { ...this.computedPagination })\n }\n }\n}\n","export default {\n props: {\n selection: {\n type: String,\n default: 'none',\n validator: v => ['single', 'multiple', 'none'].includes(v)\n },\n selected: {\n type: Array,\n default: () => []\n }\n },\n\n computed: {\n selectedKeys () {\n const keys = {}\n this.selected.map(this.getRowKey).forEach(key => {\n keys[key] = true\n })\n return keys\n },\n\n hasSelectionMode () {\n return this.selection !== 'none'\n },\n\n singleSelection () {\n return this.selection === 'single'\n },\n\n multipleSelection () {\n return this.selection === 'multiple'\n },\n\n allRowsSelected () {\n return this.computedRows.length > 0 && this.computedRows.every(\n row => this.selectedKeys[ this.getRowKey(row) ] === true\n )\n },\n\n someRowsSelected () {\n return this.allRowsSelected !== true &&\n this.computedRows.some(row => this.selectedKeys[ this.getRowKey(row) ] === true)\n },\n\n rowsSelectedNumber () {\n return this.selected.length\n }\n },\n\n methods: {\n isRowSelected (key) {\n return this.selectedKeys[key] === true\n },\n\n clearSelection () {\n this.$emit('update:selected', [])\n },\n\n __updateSelection (keys, rows, added, evt) {\n this.$emit('selection', { rows, added, keys, evt })\n\n const payload = this.singleSelection === true\n ? (added === true ? rows : [])\n : (\n added === true\n ? this.selected.concat(rows)\n : this.selected.filter(\n row => keys.includes(this.getRowKey(row)) === false\n )\n )\n\n this.$emit('update:selected', payload)\n }\n }\n}\n","function getVal (val) {\n return Array.isArray(val)\n ? val.slice()\n : []\n}\n\nexport default {\n props: {\n expanded: Array // sync\n },\n\n data () {\n return {\n innerExpanded: getVal(this.expanded)\n }\n },\n\n watch: {\n expanded (val) {\n this.innerExpanded = getVal(val)\n }\n },\n\n methods: {\n isRowExpanded (key) {\n return this.innerExpanded.includes(key)\n },\n\n setExpanded (val) {\n if (this.expanded !== void 0) {\n this.$emit('update:expanded', val)\n }\n else {\n this.innerExpanded = val\n }\n },\n\n __updateExpanded (key, add) {\n const target = this.innerExpanded.slice()\n const index = target.indexOf(key)\n\n if (add === true) {\n if (index === -1) {\n target.push(key)\n this.setExpanded(target)\n }\n }\n else if (index !== -1) {\n target.splice(index, 1)\n this.setExpanded(target)\n }\n }\n }\n}\n","import { isNumber } from '../../utils/is.js'\n\nexport default {\n props: {\n visibleColumns: Array\n },\n\n computed: {\n colList () {\n if (this.columns !== void 0) {\n return this.columns\n }\n\n // we infer columns from first row\n const row = this.data[0]\n\n return row !== void 0\n ? Object.keys(row).map(name => ({\n name,\n label: name.toUpperCase(),\n field: name,\n align: isNumber(row[name]) ? 'right' : 'left',\n sortable: true\n }))\n : []\n },\n\n computedCols () {\n const { sortBy, descending } = this.computedPagination\n\n const cols = this.visibleColumns !== void 0\n ? this.colList.filter(col => col.required === true || this.visibleColumns.includes(col.name) === true)\n : this.colList\n\n return cols.map(col => {\n const align = col.align || 'right'\n const alignClass = `text-${align}`\n\n return {\n ...col,\n align,\n __iconClass: `q-table__sort-icon q-table__sort-icon--${align}`,\n __thClass: alignClass +\n (col.headerClasses !== void 0 ? ' ' + col.headerClasses : '') +\n (col.sortable === true ? ' sortable' : '') +\n (col.name === sortBy ? ` sorted ${descending === true ? 'sort-desc' : ''}` : ''),\n\n __tdStyle: col.style !== void 0\n ? (\n typeof col.style !== 'function'\n ? () => col.style\n : col.style\n )\n : () => null,\n\n __tdClass: col.classes !== void 0\n ? (\n typeof col.classes !== 'function'\n ? () => alignClass + ' ' + col.classes\n : row => alignClass + ' ' + col.classes(row)\n )\n : () => alignClass\n }\n })\n },\n\n computedColsMap () {\n const names = {}\n this.computedCols.forEach(col => {\n names[col.name] = col\n })\n return names\n },\n\n computedColspan () {\n return this.tableColspan !== void 0\n ? this.tableColspan\n : this.computedCols.length + (this.hasSelectionMode === true ? 1 : 0)\n }\n }\n}\n","import Vue from 'vue'\n\nimport Top from './table-top.js'\nimport TableHeader from './table-header.js'\nimport TableBody from './table-body.js'\nimport Bottom from './table-bottom.js'\nimport TableGrid from './table-grid.js'\nimport QVirtualScroll from '../virtual-scroll/QVirtualScroll.js'\nimport QLinearProgress from '../linear-progress/QLinearProgress.js'\nimport getTableMiddle from './get-table-middle.js'\n\nimport { commonVirtPropsList } from '../../mixins/virtual-scroll.js'\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport Sort from './table-sort.js'\nimport Filter from './table-filter.js'\nimport Pagination from './table-pagination.js'\nimport RowSelection from './table-row-selection.js'\nimport RowExpand from './table-row-expand.js'\nimport ColumnSelection from './table-column-selection.js'\nimport FullscreenMixin from '../../mixins/fullscreen.js'\n\nimport cache from '../../utils/cache.js'\n\nconst commonVirtPropsObj = {}\ncommonVirtPropsList.forEach(p => { commonVirtPropsObj[p] = {} })\n\nexport default Vue.extend({\n name: 'QTable',\n\n mixins: [\n DarkMixin,\n ListenersMixin,\n\n FullscreenMixin,\n Top,\n TableHeader,\n TableBody,\n Bottom,\n TableGrid,\n Sort,\n Filter,\n Pagination,\n RowSelection,\n RowExpand,\n ColumnSelection\n ],\n\n props: {\n data: {\n type: Array,\n default: () => []\n },\n rowKey: {\n type: [ String, Function ],\n default: 'id'\n },\n\n columns: Array,\n loading: Boolean,\n binaryStateSort: Boolean,\n\n iconFirstPage: String,\n iconPrevPage: String,\n iconNextPage: String,\n iconLastPage: String,\n\n title: String,\n\n hideHeader: Boolean,\n\n grid: Boolean,\n gridHeader: Boolean,\n\n dense: Boolean,\n flat: Boolean,\n bordered: Boolean,\n square: Boolean,\n separator: {\n type: String,\n default: 'horizontal',\n validator: v => ['horizontal', 'vertical', 'cell', 'none'].includes(v)\n },\n wrapCells: Boolean,\n\n virtualScroll: Boolean,\n ...commonVirtPropsObj,\n\n noDataLabel: String,\n noResultsLabel: String,\n loadingLabel: String,\n selectedRowsLabel: Function,\n rowsPerPageLabel: String,\n paginationLabel: Function,\n\n color: {\n type: String,\n default: 'grey-8'\n },\n\n titleClass: [String, Array, Object],\n tableStyle: [String, Array, Object],\n tableClass: [String, Array, Object],\n tableHeaderStyle: [String, Array, Object],\n tableHeaderClass: [String, Array, Object],\n cardContainerClass: [String, Array, Object],\n cardContainerStyle: [String, Array, Object],\n cardStyle: [String, Array, Object],\n cardClass: [String, Array, Object]\n },\n\n data () {\n return {\n innerPagination: Object.assign({\n sortBy: null,\n descending: false,\n page: 1,\n rowsPerPage: this.rowsPerPageOptions.length > 0\n ? this.rowsPerPageOptions[0]\n : 5\n }, this.pagination)\n }\n },\n\n watch: {\n needsReset () {\n this.hasVirtScroll === true && this.$refs.virtScroll !== void 0 && this.$refs.virtScroll.reset()\n }\n },\n\n computed: {\n getRowKey () {\n return typeof this.rowKey === 'function'\n ? this.rowKey\n : row => row[this.rowKey]\n },\n\n hasVirtScroll () {\n return this.grid !== true && this.virtualScroll === true\n },\n\n needsReset () {\n return ['tableStyle', 'tableClass', 'tableHeaderStyle', 'tableHeaderClass', '__containerClass']\n .map(p => this[p]).join(';')\n },\n\n filteredSortedRows () {\n let rows = this.data\n\n if (this.isServerSide === true || rows.length === 0) {\n return rows\n }\n\n const { sortBy, descending } = this.computedPagination\n\n if (this.filter) {\n rows = this.filterMethod(rows, this.filter, this.computedCols, this.getCellValue)\n }\n\n if (this.columnToSort !== void 0) {\n rows = this.sortMethod(\n this.data === rows ? rows.slice() : rows,\n sortBy,\n descending\n )\n }\n\n return rows\n },\n\n filteredSortedRowsNumber () {\n return this.filteredSortedRows.length\n },\n\n computedRows () {\n let rows = this.filteredSortedRows\n\n if (this.isServerSide === true) {\n return rows\n }\n\n const { rowsPerPage } = this.computedPagination\n\n if (rowsPerPage !== 0) {\n if (this.firstRowIndex === 0 && this.data !== rows) {\n if (rows.length > this.lastRowIndex) {\n rows = rows.slice(0, this.lastRowIndex)\n }\n }\n else {\n rows = rows.slice(this.firstRowIndex, this.lastRowIndex)\n }\n }\n\n return rows\n },\n\n computedRowsNumber () {\n return this.isServerSide === true\n ? this.computedPagination.rowsNumber || 0\n : this.filteredSortedRowsNumber\n },\n\n nothingToDisplay () {\n return this.computedRows.length === 0\n },\n\n isServerSide () {\n return this.computedPagination.rowsNumber !== void 0\n },\n\n cardDefaultClass () {\n return ` q-table__card` +\n (this.isDark === true ? ' q-table__card--dark q-dark' : '') +\n (this.square === true ? ` q-table--square` : '') +\n (this.flat === true ? ` q-table--flat` : '') +\n (this.bordered === true ? ` q-table--bordered` : '')\n },\n\n __containerClass () {\n return `q-table__container q-table--${this.separator}-separator column no-wrap` +\n (this.grid === true ? ' q-table--grid' : this.cardDefaultClass) +\n (this.isDark === true ? ` q-table--dark` : '') +\n (this.dense === true ? ` q-table--dense` : '') +\n (this.wrapCells === false ? ` q-table--no-wrap` : '') +\n (this.inFullscreen === true ? ` fullscreen scroll` : '')\n },\n\n containerClass () {\n // do not trigger a refresh of the table when the loading status is changed\n return this.__containerClass +\n (this.loading === true ? ' q-table--loading' : '')\n },\n\n virtProps () {\n const props = {}\n\n commonVirtPropsList\n .forEach(p => { props[p] = this[p] })\n\n if (props.virtualScrollItemSize === void 0) {\n props.virtualScrollItemSize = this.dense === true ? 28 : 48\n }\n\n return props\n }\n },\n\n render (h) {\n const child = [ this.__getTopDiv(h) ]\n const data = { staticClass: this.containerClass }\n\n if (this.grid === true) {\n child.push(this.__getGridHeader(h))\n }\n else {\n Object.assign(data, {\n class: this.cardClass,\n style: this.cardStyle\n })\n }\n\n child.push(\n this.__getBody(h),\n this.__getBottomDiv(h)\n )\n\n if (this.loading === true && this.$scopedSlots.loading !== void 0) {\n child.push(\n this.$scopedSlots.loading()\n )\n }\n\n return h('div', data, child)\n },\n\n methods: {\n requestServerInteraction (prop = {}) {\n this.$nextTick(() => {\n this.$emit('request', {\n pagination: prop.pagination || this.computedPagination,\n filter: prop.filter || this.filter,\n getCellValue: this.getCellValue\n })\n })\n },\n\n resetVirtualScroll () {\n this.hasVirtScroll === true && this.$refs.virtScroll.reset()\n },\n\n __getBody (h) {\n if (this.grid === true) {\n return this.__getGridBody(h)\n }\n\n const header = this.hideHeader !== true ? this.__getTHead(h) : null\n\n if (this.hasVirtScroll === true) {\n const topRow = this.$scopedSlots['top-row']\n const bottomRow = this.$scopedSlots['bottom-row']\n\n const virtSlots = {\n default: this.__getVirtualTBodyTR(h)\n }\n\n if (topRow !== void 0) {\n const topContent = h('tbody', topRow({ cols: this.computedCols }))\n\n virtSlots.before = header === null\n ? () => [topContent]\n : () => [header].concat(topContent)\n }\n else if (header !== null) {\n virtSlots.before = () => header\n }\n\n if (bottomRow !== void 0) {\n virtSlots.after = () => h('tbody', bottomRow({ cols: this.computedCols }))\n }\n\n return h(QVirtualScroll, {\n ref: 'virtScroll',\n props: {\n ...this.virtProps,\n items: this.computedRows,\n type: '__qtable',\n tableColspan: this.computedColspan\n },\n on: cache(this, 'vs', {\n 'virtual-scroll': this.__onVScroll\n }),\n class: this.tableClass,\n style: this.tableStyle,\n scopedSlots: virtSlots\n })\n }\n\n return getTableMiddle(h, {\n staticClass: 'scroll',\n class: this.tableClass,\n style: this.tableStyle\n }, [\n header,\n this.__getTBody(h)\n ])\n },\n\n scrollTo (toIndex, edge) {\n if (this.$refs.virtScroll !== void 0) {\n this.$refs.virtScroll.scrollTo(toIndex, edge)\n return\n }\n\n toIndex = parseInt(toIndex, 10)\n const rowEl = this.$el.querySelector(`tbody tr:nth-of-type(${toIndex + 1})`)\n\n if (rowEl !== null) {\n const scrollTarget = this.$el.querySelector('.q-table__middle.scroll')\n const { offsetTop } = rowEl\n const direction = offsetTop < scrollTarget.scrollTop ? 'decrease' : 'increase'\n\n scrollTarget.scrollTop = offsetTop\n\n this.$emit('virtual-scroll', {\n index: toIndex,\n from: 0,\n to: this.pagination.rowsPerPage - 1,\n direction\n })\n }\n },\n\n __onVScroll (info) {\n this.$emit('virtual-scroll', info)\n },\n\n __getProgress (h) {\n return [\n h(QLinearProgress, {\n staticClass: 'q-table__linear-progress',\n props: {\n color: this.color,\n dark: this.isDark,\n indeterminate: true,\n trackColor: 'transparent'\n }\n })\n ]\n }\n }\n})\n","import { render, staticRenderFns } from \"./datatable.vue?vue&type=template&id=192e2602&\"\nimport script from \"./datatable.vue?vue&type=script&lang=js&\"\nexport * from \"./datatable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./datatable.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\nimport QTable from 'quasar/src/components/table/QTable.js';\nimport QTd from 'quasar/src/components/table/QTd.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(component, 'components', {QTable,QTd,QBtn});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./datatable.vue?vue&type=style&index=0&lang=scss&\"","import History from '../history.js'\n\nexport default {\n props: {\n fullscreen: Boolean,\n noRouteFullscreenExit: Boolean\n },\n\n data () {\n return {\n inFullscreen: false\n }\n },\n\n watch: {\n $route () {\n this.noRouteFullscreenExit !== true && this.exitFullscreen()\n },\n\n fullscreen (v) {\n if (this.inFullscreen !== v) {\n this.toggleFullscreen()\n }\n },\n\n inFullscreen (v) {\n this.$emit('update:fullscreen', v)\n this.$emit('fullscreen', v)\n }\n },\n\n methods: {\n toggleFullscreen () {\n if (this.inFullscreen === true) {\n this.exitFullscreen()\n }\n else {\n this.setFullscreen()\n }\n },\n\n setFullscreen () {\n if (this.inFullscreen === true) {\n return\n }\n\n this.inFullscreen = true\n this.container = this.$el.parentNode\n this.container.replaceChild(this.fullscreenFillerNode, this.$el)\n document.body.appendChild(this.$el)\n document.body.classList.add('q-body--fullscreen-mixin')\n\n this.__historyFullscreen = {\n handler: this.exitFullscreen\n }\n History.add(this.__historyFullscreen)\n },\n\n exitFullscreen () {\n if (this.inFullscreen !== true) {\n return\n }\n\n if (this.__historyFullscreen !== void 0) {\n History.remove(this.__historyFullscreen)\n this.__historyFullscreen = void 0\n }\n this.container.replaceChild(this.$el, this.fullscreenFillerNode)\n document.body.classList.remove('q-body--fullscreen-mixin')\n this.inFullscreen = false\n\n if (this.$el.scrollIntoView !== void 0) {\n setTimeout(() => { this.$el.scrollIntoView() })\n }\n }\n },\n\n beforeMount () {\n this.fullscreenFillerNode = document.createElement('span')\n },\n\n mounted () {\n this.fullscreen === true && this.setFullscreen()\n },\n\n beforeDestroy () {\n this.exitFullscreen()\n }\n}\n","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/slot.js'\n\nexport default Vue.extend({\n name: 'QTd',\n\n mixins: [ ListenersMixin ],\n\n props: {\n props: Object,\n autoWidth: Boolean,\n noHover: Boolean\n },\n\n computed: {\n classes () {\n return 'q-td' + (this.autoWidth === true ? ' q-table--col-auto-width' : '') +\n (this.noHover === true ? ' q-td--no-hover' : '') + ' '\n }\n },\n\n render (h) {\n const on = this.qListeners\n\n if (this.props === void 0) {\n return h('td', {\n on,\n class: this.classes\n }, slot(this, 'default'))\n }\n\n const name = this.$vnode.key\n\n const col = this.props.colsMap !== void 0 && name\n ? this.props.colsMap[name]\n : this.props.col\n\n if (col === void 0) { return }\n\n const row = this.props.row\n\n return h('td', {\n on,\n style: col.__tdStyle(row),\n class: this.classes + col.__tdClass(row)\n }, slot(this, 'default'))\n }\n})\n"],"sourceRoot":""}