{"version":3,"sources":["webpack:///./node_modules/quasar/src/mixins/ratio.js","webpack:///./node_modules/quasar/src/components/img/QImg.js","webpack:///./src/shared/breadcrumbs/assets/home.svg","webpack:///./node_modules/quasar/src/components/table/QTh.js","webpack:///./src/shared/breadcrumbs/assets/arrow-right.svg","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?7387","webpack:///./node_modules/core-js/modules/es.string.link.js","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?7d0f","webpack:///./node_modules/quasar/src/utils/private/inject-obj-prop.js","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?ee52","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue","webpack:///src/shared/breadcrumbs/Breadcrumbs.vue","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?daf5","webpack:///./src/shared/breadcrumbs/Breadcrumbs.vue?eb21","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/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/utils/private/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/mixins/fullscreen.js","webpack:///./node_modules/quasar/src/components/table/QTable.js","webpack:///./src/components/shared/mixins/Message.js"],"names":["props","ratio","String","Number","computed","ratioStyle","this","naturalRatio","paddingBottom","Vue","extend","name","mixins","ListenersMixin","RatioMixin","src","srcset","sizes","alt","width","height","placeholderSrc","basic","Boolean","contain","position","type","default","transition","imgClass","Array","Object","imgStyle","nativeContextMenu","noDefaultSpinner","spinnerColor","spinnerSize","data","currentSrc","image","isLoading","hasError","watch","__load","val","__updateWatcher","url","attrs","att","role","imgContainerStyle","assign","backgroundSize","backgroundPosition","backgroundImage","style","classes","methods","__onLoad","img","__computeRatio","__updateSrc","$emit","__onError","err","clearTimeout","ratioTimer","unwatch","$watch","Image","onerror","destroyed","onload","decode","catch","then","naturalHeight","naturalWidth","setTimeout","__getImage","h","nativeImg","staticClass","content","key","class","__getContent","slotVm","slot","$scopedSlots","loading","QSpinner","color","size","render","on","qListeners","beforeMount","beforeDestroy","module","exports","autoWidth","col","child","$vnode","colsMap","sortable","action","align","uniqueSlot","QIcon","$q","iconSet","table","arrowUp","__iconClass","evt","click","sort","headerStyle","__thClass","__esModule","i","locals","add","$","createHTML","forcedStringHTMLMethod","target","proto","forced","link","injectProp","propName","get","set","defineProperty","enumerable","___CSS_LOADER_API_IMPORT___","push","_vm","_c","_self","breadcrumbList","length","$event","routeTo","home","require","_v","_s","_l","breadcrumb","idx","linked","_e","staticRenderFns","components","QImg","mapGetters","isAdmin","isSuperAdmin","isExternal","haveEntidadesVisibles","haveEntidadesVisiblesRelated","mounted","$route","updateList","component","noHover","row","__tdStyle","__tdClass","marginalsScope","pagination","computedPagination","pagesNumber","isFirstPage","isLastPage","firstPage","prevPage","nextPage","lastPage","inFullscreen","toggleFullscreen","__getTopDiv","top","topLeft","topRight","topSelection","hasSelection","hasSelectionMode","rowsSelectedNumber","slice","title","titleClass","headerSelectedValue","someRowsSelected","allRowsSelected","__getTHead","__getTHeadTR","colspan","computedColspan","__getProgress","header","headerCell","__getHeaderScope","computedCols","map","headerCellCol","QTh","label","singleSelection","grid","unshift","multipleSelection","QCheckbox","value","dark","isDark","dense","cache","input","__onMultipleSelectionSet","tableHeaderStyle","tableHeaderClass","cols","computedColsMap","partialSelected","multipleSelect","__updateSelection","computedRows","getRowKey","__getTBodyTR","bodySlot","pageIndex","selected","isRowSelected","__getBodyScope","__trClass","bodyCell","bodyCellCol","__getBodyCellScope","getCellValue","__getBodySelectionScope","adding","dblclick","contextmenu","__getTBody","body","topRow","bottomRow","concat","__getVirtualTBodyTR","item","index","__injectBodyCommonScope","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","Math","min","lastRowIndex","computedRowsNumber","filteredSortedRowsNumber","btnProps","round","flat","QBtn","disable","__getGridHeader","gridHeader","__getGridBody","scope","QSeparator","cardDefaultClass","cardClass","cardStyle","cardContainerClass","cardContainerStyle","DarkMixin","bordered","square","separator","validator","v","includes","wrapCells","conf","comps","list","QList","QMarkupTable","AttrsMixin","VirtualScroll","items","itemsFn","Function","itemsSize","scrollTarget","virtualScrollLength","parseInt","isArray","virtualScrollScope","mapFn","virtualScrollSliceRange","from","to","virtualScrollHorizontal","tabindex","__resetVirtualScroll","__unconfigureScrollTarget","__configureScrollTarget","__getVirtualScrollEl","$el","__getVirtualScrollTarget","__scrollTarget","getScrollTarget","addEventListener","__onVirtualScrollEvt","listenOpts","passive","removeEventListener","activated","deactivated","__padVirtualScroll","before","mergeSlot","getTableMiddle","qAttrs","console","error","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","handler","$nextTick","deep","samePagination","oldPag","newPag","prop","fixPagination","p","innerPagination","max","ceil","opts","count","oldLastPage","currentPage","__sendServerRequest","requestServerInteraction","forceServerRequest","newPagination","isServerSide","created","selection","selectedKeys","keys","forEach","every","clearSelection","added","payload","getVal","expanded","innerExpanded","setExpanded","splice","visibleColumns","columns","toUpperCase","required","alignClass","headerClasses","names","tableColspan","fullscreenCounter","fullscreen","noRouteFullscreenExit","exitFullscreen","setFullscreen","container","parentNode","replaceChild","fullscreenFillerNode","document","appendChild","classList","__historyFullscreen","History","remove","scrollIntoView","createElement","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","virtualScrollStickySizeStart","direction","scrollTop","info","QLinearProgress","indeterminate","trackColor","showError","text","time","notify","timeout","showMessage"],"mappings":"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","file":"js/chunk-352f24bf.3a449319.js","sourcesContent":["export default {\n props: {\n ratio: [ String, Number ]\n },\n\n computed: {\n ratioStyle () {\n const ratio = this.ratio || this.naturalRatio\n\n if (ratio !== void 0) {\n return { paddingBottom: `${100 / ratio}%` }\n }\n }\n }\n}\n","import Vue from 'vue'\n\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport RatioMixin from '../../mixins/ratio.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/private/slot.js'\n\nexport default Vue.extend({\n name: 'QImg',\n\n mixins: [ ListenersMixin, RatioMixin ],\n\n props: {\n src: String,\n srcset: String,\n sizes: String,\n alt: String,\n width: String,\n height: String,\n\n placeholderSrc: String,\n\n basic: Boolean,\n contain: Boolean,\n position: {\n type: String,\n default: '50% 50%'\n },\n\n transition: {\n type: String,\n default: 'fade'\n },\n\n imgClass: [ Array, String, Object ],\n imgStyle: Object,\n\n nativeContextMenu: Boolean,\n\n noDefaultSpinner: Boolean,\n spinnerColor: String,\n spinnerSize: String\n },\n\n data () {\n return {\n currentSrc: '',\n image: null,\n isLoading: !!this.src,\n hasError: false,\n naturalRatio: void 0\n }\n },\n\n watch: {\n src () {\n this.__load()\n },\n\n srcset (val) {\n this.__updateWatcher(val)\n }\n },\n\n computed: {\n url () {\n return this.currentSrc || this.placeholderSrc || void 0\n },\n\n attrs () {\n const att = { role: 'img' }\n if (this.alt !== void 0) {\n att['aria-label'] = this.alt\n }\n return att\n },\n\n imgContainerStyle () {\n return Object.assign(\n {\n backgroundSize: this.contain === true ? 'contain' : 'cover',\n backgroundPosition: this.position\n },\n this.imgStyle,\n { backgroundImage: `url(\"${this.url}\")` })\n },\n\n style () {\n return {\n width: this.width,\n height: this.height\n }\n },\n\n classes () {\n return 'q-img overflow-hidden' +\n (this.nativeContextMenu === true ? ' q-img--menu' : '')\n }\n },\n\n methods: {\n __onLoad (img) {\n this.isLoading = false\n this.hasError = false\n this.__computeRatio(img)\n this.__updateSrc()\n this.__updateWatcher(this.srcset)\n this.$emit('load', this.currentSrc)\n },\n\n __onError (err) {\n clearTimeout(this.ratioTimer)\n this.isLoading = false\n this.hasError = true\n this.currentSrc = ''\n this.$emit('error', err)\n },\n\n __updateSrc () {\n if (this.image !== void 0 && this.isLoading === false) {\n const src = this.image.currentSrc || this.image.src\n if (this.currentSrc !== src) {\n this.currentSrc = src\n }\n }\n },\n\n __updateWatcher (srcset) {\n if (srcset) {\n if (this.unwatch === void 0) {\n this.unwatch = this.$watch('$q.screen.width', this.__updateSrc)\n }\n }\n else if (this.unwatch !== void 0) {\n this.unwatch()\n this.unwatch = void 0\n }\n },\n\n __load () {\n clearTimeout(this.ratioTimer)\n this.hasError = false\n\n if (!this.src) {\n this.isLoading = false\n this.image = void 0\n this.currentSrc = ''\n return\n }\n\n this.isLoading = true\n\n const img = new Image()\n this.image = img\n\n img.onerror = err => {\n // if we are still rendering same image\n if (this.image === img && this.destroyed !== true) {\n this.__onError(err)\n }\n }\n\n img.onload = () => {\n if (this.destroyed === true) {\n return\n }\n\n // if we are still rendering same image\n if (this.image === img) {\n if (img.decode !== void 0) {\n img\n .decode()\n .catch(err => {\n if (this.image === img && this.destroyed !== true) {\n this.__onError(err)\n }\n })\n .then(() => {\n if (this.image === img && this.destroyed !== true) {\n this.__onLoad(img)\n }\n })\n }\n else {\n this.__onLoad(img)\n }\n }\n }\n\n img.src = this.src\n\n if (this.srcset) {\n img.srcset = this.srcset\n }\n\n if (this.sizes !== void 0) {\n img.sizes = this.sizes\n }\n else {\n Object.assign(img, {\n height: this.height,\n width: this.width\n })\n }\n },\n\n __computeRatio (img) {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalRatio = naturalHeight === 0\n ? 1\n : naturalWidth / naturalHeight\n }\n else {\n this.ratioTimer = setTimeout(() => {\n if (this.image === img && this.destroyed !== true) {\n this.__computeRatio(img)\n }\n }, 100)\n }\n },\n\n __getImage (h) {\n const nativeImg = this.nativeContextMenu === true\n ? [\n h('img', {\n staticClass: 'absolute-full fit',\n attrs: { src: this.url, 'aria-hidden': 'true' }\n })\n ]\n : void 0\n\n const content = this.url !== void 0\n ? h('div', {\n key: this.url,\n staticClass: 'q-img__image absolute-full',\n class: this.imgClass,\n style: this.imgContainerStyle\n }, nativeImg)\n : null\n\n return this.basic === true\n ? content\n : h('transition', {\n props: { name: 'q-transition--' + this.transition }\n }, [ content ])\n },\n\n __getContent (h) {\n const slotVm = slot(this, this.hasError === true ? 'error' : 'default')\n\n if (this.basic === true) {\n return h('div', {\n key: 'content',\n staticClass: 'q-img__content absolute-full'\n }, slotVm)\n }\n\n const content = this.isLoading === true\n ? h('div', {\n key: 'placeholder',\n staticClass: 'q-img__loading absolute-full flex flex-center'\n }, this.$scopedSlots.loading !== void 0\n ? this.$scopedSlots.loading()\n : (\n this.noDefaultSpinner === false\n ? [\n h(QSpinner, {\n props: {\n color: this.spinnerColor,\n size: this.spinnerSize\n }\n })\n ]\n : void 0\n )\n )\n : h('div', {\n key: 'content',\n staticClass: 'q-img__content absolute-full'\n }, slotVm)\n\n return h('transition', {\n props: { name: 'q-transition--fade' }\n }, [ content ])\n }\n },\n\n render (h) {\n return h('div', {\n class: this.classes,\n style: this.style,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, [\n h('div', { style: this.ratioStyle }),\n this.__getImage(h),\n this.__getContent(h)\n ])\n },\n\n beforeMount () {\n if (this.placeholderSrc !== void 0 && this.ratio === void 0) {\n const img = new Image()\n img.src = this.placeholderSrc\n this.__computeRatio(img)\n }\n this.isLoading === true && this.__load()\n },\n\n beforeDestroy () {\n this.destroyed = true\n clearTimeout(this.ratioTimer)\n this.unwatch !== void 0 && this.unwatch()\n }\n})\n","module.exports = __webpack_public_path__ + \"img/home.cd6a4915.svg\";","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot, uniqueSlot } from '../../utils/private/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\";","// style-loader: Adds some css to the DOM by adding a \r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/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=2fbc8fd7&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=2fbc8fd7&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2fbc8fd7\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\n\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { slot } from '../../utils/private/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/private/cache.js'\nimport { injectProp } from '../../utils/private/inject-obj-prop.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 injectProp(\n data,\n 'selected',\n () => this.headerSelectedValue,\n this.__onMultipleSelectionSet\n )\n\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\nimport { injectProp } from '../../utils/private/inject-obj-prop.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 => injectProp(\n { ...col },\n 'value',\n () => this.getCellValue(col, data.row)\n ))\n\n return data\n },\n\n __getBodyCellScope (data) {\n this.__injectBodyCommonScope(data)\n return injectProp(data, 'value', () => this.getCellValue(data.col, data.row))\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 && injectProp(\n data,\n 'selected',\n () => this.isRowSelected(data.key),\n (adding, evt) => {\n this.__updateSelection([ data.key ], [ data.row ], adding, evt)\n }\n )\n\n injectProp(\n data,\n 'expand',\n () => this.isRowExpanded(data.key),\n adding => { this.__updateExpanded(data.key, adding) }\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/private/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/private/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/private/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 activated () {\n this.__configureScrollTarget()\n },\n\n deactivated () {\n this.__unconfigureScrollTarget()\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","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/private/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 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 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/private/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.offsetTop - this.virtualScrollStickySizeStart\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","export default {\r\n methods: {\r\n showError (text, time = 2000) {\r\n this.$q.notify({\r\n message: text,\r\n color: 'red',\r\n icon: 'warning',\r\n timeout: time\r\n });\r\n },\r\n showMessage (text, time = 600) {\r\n this.$q.notify({\r\n message: text,\r\n color: 'secondary',\r\n icon: 'done',\r\n timeout: time\r\n });\r\n }\r\n }\r\n};\r\n"],"sourceRoot":""}