{"version":3,"sources":["../../../src/components/VDataTable/VDataTable.js"],"names":[],"mappings":"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","sourcesContent":["import '../../stylus/components/_tables.styl'\nimport '../../stylus/components/_data-table.styl'\n\nimport DataIterable from '../../mixins/data-iterable'\n\nimport Head from './mixins/head'\nimport Body from './mixins/body'\nimport Foot from './mixins/foot'\nimport Progress from './mixins/progress'\n\nimport {\n  createSimpleFunctional,\n  getObjectValueByPath\n} from '../../util/helpers'\n\n// Importing does not work properly\nconst VTableOverflow = createSimpleFunctional('v-table__overflow')\n\n/* @vue/component */\nexport default {\n  name: 'v-data-table',\n\n  mixins: [DataIterable, Head, Body, Foot, Progress],\n\n  props: {\n    headers: {\n      type: Array,\n      default: () => []\n    },\n    headersLength: {\n      type: Number\n    },\n    headerText: {\n      type: String,\n      default: 'text'\n    },\n    headerKey: {\n      type: String,\n      default: null\n    },\n    hideHeaders: Boolean,\n    rowsPerPageText: {\n      type: String,\n      default: '$vuetify.dataTable.rowsPerPageText'\n    },\n    customFilter: {\n      type: Function,\n      default: (items, search, filter, headers) => {\n        search = search.toString().toLowerCase()\n        if (search.trim() === '') return items\n\n        const props = headers.map(h => h.value)\n\n        return items.filter(item => props.some(prop => filter(getObjectValueByPath(item, prop, item[prop]), search)))\n      }\n    }\n  },\n\n  data () {\n    return {\n      actionsClasses: 'v-datatable__actions',\n      actionsRangeControlsClasses: 'v-datatable__actions__range-controls',\n      actionsSelectClasses: 'v-datatable__actions__select',\n      actionsPaginationClasses: 'v-datatable__actions__pagination'\n    }\n  },\n\n  computed: {\n    classes () {\n      return {\n        'v-datatable v-table': true,\n        'v-datatable--select-all': this.selectAll !== false,\n        ...this.themeClasses\n      }\n    },\n    filteredItems () {\n      return this.filteredItemsImpl(this.headers)\n    },\n    headerColumns () {\n      return this.headersLength || this.headers.length + (this.selectAll !== false)\n    }\n  },\n\n  created () {\n    const firstSortable = this.headers.find(h => (\n      !('sortable' in h) || h.sortable)\n    )\n\n    this.defaultPagination.sortBy = !this.disableInitialSort && firstSortable\n      ? firstSortable.value\n      : null\n\n    this.initPagination()\n  },\n\n  methods: {\n    hasTag (elements, tag) {\n      return Array.isArray(elements) && elements.find(e => e.tag === tag)\n    },\n    genTR (children, data = {}) {\n      return this.$createElement('tr', data, children)\n    }\n  },\n\n  render (h) {\n    const tableOverflow = h(VTableOverflow, {}, [\n      h('table', {\n        'class': this.classes\n      }, [\n        this.genTHead(),\n        this.genTBody(),\n        this.genTFoot()\n      ])\n    ])\n\n    return h('div', [\n      tableOverflow,\n      this.genActionsFooter()\n    ])\n  }\n}\n"],"sourceRoot":""}