\r\n * \r\n WRAP FILTERS IN:\r\n
{filters go here}
\r\n\r\n ADD ARGUMENT TO VueTable COMPONENT:\r\n :table-height=\"CalcTableHeight\"\r\n \r\n\r\n\r\n Add v-show=\"ShowFilters\" to form component for table filters\r\n\r\n ADD ICON TO TOGGLE FILTERS\r\n
\r\n\r\n IMPORT ICONS:\r\n import { faEye } from '@fortawesome/free-solid-svg-icons';\r\n library.add(faEye);\r\n import { faEyeSlash } from '@fortawesome/free-solid-svg-icons';\r\n library.add(faEyeSlash);\r\n\r\n ADD MIXIN:\r\n import { TableScrollerSupport } from \"../../../mixins/TableScrollerSupport.js\"; **location will vary**\r\n */\r\nimport { EventBus } from '../services/event-bus.js';\r\n\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport { faEye } from '@fortawesome/free-solid-svg-icons';\r\nlibrary.add(faEye);\r\nimport { faEyeSlash } from '@fortawesome/free-solid-svg-icons';\r\nlibrary.add(faEyeSlash);\r\n\r\nexport const TableScrollerSupport = {\r\n created() {\r\n EventBus.$on('window-resized', this.HandleWindowResize);\r\n },\r\n beforeDestroy() {\r\n EventBus.$off('window-resized');\r\n },\r\n mounted() {\r\n this.IsMounted = true;\r\n this.HandleWindowResize();\r\n },\r\n data: function () {\r\n return {\r\n ShowFilters: true,\r\n Adjuster: 1,\r\n IsMounted: false,\r\n WindowHeight: 0\r\n }\r\n },\r\n methods: {\r\n ToggleShowFilters() {\r\n this.ShowFilters = !this.ShowFilters;\r\n let vm = this;\r\n this.$nextTick(() => {\r\n vm.Adjuster++;\r\n });\r\n\r\n },\r\n HandleWindowResize() {\r\n this.WindowHeight = window.innerHeight;\r\n },\r\n VisibilityChanged(isVisible, entry) {\r\n if (isVisible) {\r\n this.Adjuster++;\r\n }\r\n },\r\n },\r\n computed: {\r\n CalcTableHeight: function () {\r\n if (this.IsMounted) {\r\n let adjuster = this.Adjuster;\r\n let headerSize = 68;\r\n let additionalAdjustment = 115\r\n let filterHeight = this.$refs.divtophalf.clientHeight;\r\n //console.log(this.$refs.divtophalf);\r\n //console.log(\"filterHeight: \" + filterHeight);\r\n //console.log(\"windowHeight: \" + this.WindowHeight);\r\n return (this.WindowHeight - filterHeight - headerSize - additionalAdjustment) + \"px\";\r\n } else {\r\n return \"100px\";\r\n }\r\n\r\n }\r\n }\r\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _template = require('./template');\n\nvar _template2 = _interopRequireDefault(_template);\n\nvar _RenderlessPagination = require('./RenderlessPagination');\n\nvar _RenderlessPagination2 = _interopRequireDefault(_RenderlessPagination);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'Pagination',\n components: { RenderlessPagination: _RenderlessPagination2.default },\n provide: function provide() {\n var _this = this;\n\n return {\n Page: function Page() {\n return _this.value;\n },\n perPage: function perPage() {\n return _this.perPage;\n },\n records: function records() {\n return _this.records;\n }\n };\n },\n render: function render(h) {\n return h('renderless-pagination', { scopedSlots: {\n default: function _default(props) {\n return props.override ? h(props.override, {\n attrs: { props: props }\n }) : (0, _template2.default)(props)(h);\n }\n }\n });\n },\n\n props: {\n value: {\n type: Number,\n required: true,\n validator: function validator(val) {\n return val > 0;\n }\n },\n records: {\n type: Number,\n required: true\n },\n perPage: {\n type: Number,\n default: 25\n },\n options: {\n type: Object\n }\n },\n data: function data() {\n return {\n aProps: {\n role: \"button\"\n }\n };\n }\n};\nmodule.exports = exports['default'];"],"sourceRoot":""}