{"version":3,"sources":["webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?d77a","webpack:///./src/shared/breadcrumbs/assets/home.svg","webpack:///./node_modules/quasar/src/components/markup-table/QMarkupTable.js","webpack:///./node_modules/quasar/src/components/table/QTh.js","webpack:///./src/shared/breadcrumbs/assets/arrow-right.svg","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?82a4","webpack:///./node_modules/quasar/src/components/table/get-table-middle.js","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?0420","webpack:///./node_modules/quasar/src/components/virtual-scroll/QVirtualScroll.js","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?a4f1","webpack:///src/shared/breadcrumbs/Breadcrumbs.vue","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?4fe2","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue","webpack:///./node_modules/quasar/src/mixins/fullscreen.js","webpack:///./node_modules/quasar/src/components/table/QTd.js","webpack:///./node_modules/quasar/src/components/table/table-top.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/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"],"names":["___CSS_LOADER_API_IMPORT___","exports","push","module","i","Vue","extend","name","mixins","DarkMixin","ListenersMixin","props","dense","Boolean","flat","bordered","square","separator","type","String","default","validator","v","includes","wrapCells","computed","classes","this","isDark","render","h","staticClass","class","on","qListeners","slot","Object","autoWidth","col","child","$vnode","key","colsMap","sortable","action","align","uniqueSlot","QIcon","$q","iconSet","table","arrowUp","__iconClass","evt","click","sort","$emit","style","headerStyle","__thClass","conf","content","locals","add","comps","list","QList","QMarkupTable","AttrsMixin","VirtualScroll","items","Array","itemsFn","Function","itemsSize","Number","scrollTarget","virtualScrollLength","length","virtualScrollScope","mapFn","item","index","virtualScrollSliceRange","from","slice","to","map","virtualScrollHorizontal","attrs","tabindex","watch","__resetVirtualScroll","__unconfigureScrollTarget","__configureScrollTarget","methods","__getVirtualScrollEl","$el","__getVirtualScrollTarget","__scrollTarget","getScrollTarget","addEventListener","__onVirtualScrollEvt","listenOpts","passive","removeEventListener","beforeMount","mounted","activated","deactivated","beforeDestroy","$scopedSlots","__padVirtualScroll","before","concat","mergeSlot","getTableMiddle","qAttrs","console","error","_vm","_h","$createElement","_c","_self","visible","breadcrumbList","$event","routeTo","home","_v","_s","_l","breadcrumb","idx","link","_e","staticRenderFns","components","QImg","data","updateList","$router","undefined","$route","params","nameLink","meta","component","fullscreenCounter","fullscreen","noRouteFullscreenExit","inFullscreen","exitFullscreen","toggleFullscreen","setFullscreen","container","parentNode","replaceChild","fullscreenFillerNode","document","body","appendChild","classList","__historyFullscreen","handler","History","remove","Math","max","scrollIntoView","setTimeout","createElement","noHover","row","__tdStyle","__tdClass","marginalsScope","pagination","computedPagination","pagesNumber","isFirstPage","isLastPage","firstPage","prevPage","nextPage","lastPage","__getTopDiv","top","topLeft","topRight","topSelection","hasSelection","hasSelectionMode","rowsSelectedNumber","title","titleClass","headerSelectedValue","someRowsSelected","allRowsSelected","__getTHead","__getTHeadTR","loading","colspan","computedColspan","__getProgress","header","headerCell","__getHeaderScope","computedCols","headerCellCol","QTh","label","singleSelection","grid","unshift","multipleSelection","QCheckbox","color","value","dark","cache","input","__onMultipleSelectionSet","tableHeaderStyle","tableHeaderClass","cols","computedColsMap","get","set","configurable","enumerable","partialSelected","multipleSelect","val","__updateSelection","computedRows","getRowKey","__getTBodyTR","bodySlot","pageIndex","selected","isRowSelected","__getBodyScope","__trClass","bodyCell","bodyCellCol","__getBodyCellScope","getCellValue","__getBodySelectionScope","adding","dblclick","contextmenu","__getTBody","topRow","bottomRow","__getVirtualTBodyTR","__injectBodyCommonScope","c","rowIndex","firstRowIndex","isRowExpanded","__updateExpanded","field","format","hideBottom","hideSelectedBanner","hideNoData","hidePagination","navIcon","ico","iconFirstPage","iconPrevPage","iconNextPage","iconLastPage","lang","rtl","reverse","__getBottomDiv","nothingToDisplay","message","loadingLabel","filter","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","min","lastRowIndex","computedRowsNumber","filteredSortedRowsNumber","btnProps","round","size","QBtn","disable","__getGridHeader","gridHeader","__getGridBody","scope","QSeparator","cardDefaultClass","cardClass","cardStyle","cardContainerClass","cardContainerStyle","sortDate","a","b","Date","sortMethod","sortBy","descending","colList","find","def","dir","A","B","isNumber","isDate","s","toLocaleString","toLowerCase","columnSortOrder","columnToSort","sortOrder","isObject","binaryStateSort","filterMethod","rows","terms","cellValue","lowerTerms","some","haystack","indexOf","$nextTick","deep","samePagination","oldPag","newPag","prop","fixPagination","p","innerPagination","ceil","opts","count","oldLastPage","currentPage","__sendServerRequest","requestServerInteraction","forceServerRequest","newPagination","isServerSide","created","selection","selectedKeys","keys","forEach","every","clearSelection","added","payload","getVal","expanded","innerExpanded","setExpanded","target","splice","visibleColumns","columns","toUpperCase","required","alignClass","headerClasses","names","tableColspan","commonVirtPropsObj","commonVirtPropsList","FullscreenMixin","Top","TableHeader","TableBody","Bottom","TableGrid","Sort","Filter","Pagination","RowSelection","RowExpand","ColumnSelection","rowKey","hideHeader","virtualScroll","tableStyle","tableClass","needsReset","hasVirtScroll","$refs","virtScroll","reset","join","filteredSortedRows","rowsNumber","__containerClass","containerClass","virtProps","virtualScrollItemSize","__getBody","resetVirtualScroll","virtSlots","topContent","after","QVirtualScroll","ref","__onVScroll","scopedSlots","scrollTo","toIndex","edge","rowEl","querySelector","offsetTop","direction","scrollTop","info","QLinearProgress","indeterminate","trackColor"],"mappings":"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","file":"js/chunk-d05418a2.02e17270.js","sourcesContent":["// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"ul[data-v-53c791c6]{display:-webkit-box;display:-ms-flexbox;display:flex;list-style-type:none;padding:0}li[data-v-53c791c6]{margin:1px 0 5px 0;font-family:DINPro;font-size:14px;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.2px;color:#777;text-transform:uppercase}li[data-v-53c791c6]:hover{color:#002f6c;font-weight:700}li[data-v-53c791c6]:last-child:hover{color:#777}li[data-v-53c791c6]:last-child{font-weight:700}.linked[data-v-53c791c6]{cursor:pointer}.icon[data-v-53c791c6]{width:24px;height:24px}.breadcrumb[data-v-53c791c6]{margin-bottom:20px}.no-visible[data-v-53c791c6]{visibility:\\\"hidden\\\"}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = __webpack_public_path__ + \"img/home.cd6a4915.svg\";","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","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","module.exports = __webpack_public_path__ + \"img/arrow-right.12a791db.svg\";","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=style&index=0&id=53c791c6&scoped=true&lang=css&\"","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","// style-loader: Adds some css to the DOM by adding a \r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.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/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Breadcrumbs.vue?vue&type=template&id=53c791c6&scoped=true&\"\nimport script from \"./Breadcrumbs.vue?vue&type=script&lang=js&\"\nexport * from \"./Breadcrumbs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Breadcrumbs.vue?vue&type=style&index=0&id=53c791c6&scoped=true&lang=css&\"\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 \"53c791c6\",\n null\n \n)\n\nexport default component.exports","import History from '../history.js'\n\nlet fullscreenCounter = 0\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\n fullscreenCounter++\n\n if (fullscreenCounter === 1) {\n document.body.classList.add('q-body--fullscreen-mixin')\n }\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 this.inFullscreen = false\n\n fullscreenCounter = Math.max(0, fullscreenCounter - 1)\n\n if (fullscreenCounter === 0) {\n document.body.classList.remove('q-body--fullscreen-mixin')\n\n if (this.$el.scrollIntoView !== void 0) {\n setTimeout(() => { this.$el.scrollIntoView() })\n }\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","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 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","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, isObject } 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 (isObject(col) === true) {\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"],"sourceRoot":""}