├── .gitignore
├── release-minor.bat
├── release-patch.bat
├── .editorconfig
├── src
├── index.js
├── constants
│ └── index.js
├── components
│ ├── GridRowHandle.vue
│ ├── GridCell.vue
│ ├── GridHeaderCell.vue
│ ├── GridHeader.vue
│ ├── GridHeaderRowHandle.vue
│ ├── GridRow.vue
│ └── Grid.vue
└── data
│ └── simple.js
├── .babelrc
├── docs-src
├── GridEvents.vue
├── index.js
├── router.js
├── GridOptions.vue
├── GridMetricsValue.vue
├── GridInteractions.vue
├── Sidebar.vue
├── App.vue
└── GridMetrics.vue
├── docs
├── docs.bundle.css
└── index.html
├── dist
├── vue-grid.css
└── vue-grid.min.js
├── LICENSE
├── README.md
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | npm-debug.log
4 |
--------------------------------------------------------------------------------
/release-minor.bat:
--------------------------------------------------------------------------------
1 | call npm version minor
2 | call yarn
3 | call yarn run build
4 | call git add package.json
5 | echo **** Don't forget to update the `gh-pages` branch and run `npm publish` ****
6 |
--------------------------------------------------------------------------------
/release-patch.bat:
--------------------------------------------------------------------------------
1 | call npm version patch
2 | call yarn
3 | call yarn run build
4 | call git add package.json
5 | echo **** Don't forget to update the `gh-pages` branch and run `npm publish` ****
6 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | end_of_line = lf
6 | insert_final_newline = true
7 | indent_style = space
8 | indent_size = 2
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import VueGrid from './components/Grid.vue'
2 |
3 | // expose component to global scope
4 | if (typeof window !== 'undefined' && window.Vue) {
5 | Vue.component('vue-grid', VueGrid)
6 | }
7 |
8 | export { VueGrid }
9 |
10 | export default VueGrid
11 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["es2015", "stage-2"]
4 | ],
5 | "plugins": [
6 | "lodash",
7 | "transform-es2015-destructuring",
8 | "transform-es2015-parameters",
9 | "transform-object-rest-spread"
10 | ],
11 | "comments": false
12 | }
13 |
--------------------------------------------------------------------------------
/docs-src/GridEvents.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
13 |
--------------------------------------------------------------------------------
/docs-src/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 |
5 | const app = new Vue({
6 | el: '#app',
7 | // provide the router using the 'router' option.
8 | // this will inject the router to make the whole app router-aware.
9 | router,
10 | render: h => h(App)
11 | })
12 |
--------------------------------------------------------------------------------
/docs-src/router.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 | import GridInteractions from './GridInteractions.vue'
4 |
5 | // use VueRouter for handling browser history
6 | Vue.use(VueRouter)
7 |
8 | const routes = [
9 | { path: '*', redirect: '/interactions' }, // catch all route to redirect 404s
10 | { path: '/', redirect: '/interactions' },
11 | { path: '/interactions', component: GridInteractions }
12 | ]
13 |
14 | export default new VueRouter({
15 | //mode: 'history', // use HTML5 history
16 | base: '/vue-grid/', // serve app from /vue-grid base folder
17 | routes
18 | })
19 |
--------------------------------------------------------------------------------
/src/constants/index.js:
--------------------------------------------------------------------------------
1 | const DEFAULT_START = 0
2 | const DEFAULT_LIMIT = 50
3 | const DEFAULT_ROW_HEIGHT = 23
4 | const DEFAULT_ROW_HANDLE_WIDTH = 70
5 | const ROW_HANDLE_MIN_WIDTH = 30
6 | const ROW_HANDLE_MAX_WIDTH = 200
7 | const DEFAULT_COLUMN_WIDTH = 130
8 | const COLUMN_MIN_WIDTH = 30
9 | const COLUMN_MAX_WIDTH = 1200
10 | const COLUMN_RESIZE_HANDLE_WIDTH = 4
11 |
12 | export {
13 | DEFAULT_START,
14 | DEFAULT_LIMIT,
15 | DEFAULT_ROW_HEIGHT,
16 | DEFAULT_ROW_HANDLE_WIDTH,
17 | ROW_HANDLE_MIN_WIDTH,
18 | ROW_HANDLE_MAX_WIDTH,
19 | DEFAULT_COLUMN_WIDTH,
20 | COLUMN_MIN_WIDTH,
21 | COLUMN_MAX_WIDTH,
22 | COLUMN_RESIZE_HANDLE_WIDTH
23 | }
24 |
--------------------------------------------------------------------------------
/docs/docs.bundle.css:
--------------------------------------------------------------------------------
1 | body,html{font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:100%}html{height:100%}body{min-height:100%;overflow:hidden}.router-link,.sidebar-link{color:#555}.router-link-active,.router-link:hover,.sidebar-link:hover{background-color:rgba(0,0,0,.05)}.router-link-active{color:#357edd}.vg-container{font-family:Arial,sans-serif;font-size:13px;color:#333}.vg-thead{box-shadow:inset 0 -1px 0 #ddd}.vg-td,.vg-th{margin-top:-1px;margin-left:-1px;padding-top:1px;border-color:#ddd}.vg-td-inner,.vg-th-inner{padding:4px 5px}.flex-fill{-ms-flex:1 1;flex:1 1;min-width:0;min-height:0}.b--light-moon-gray{border-color:#ddd}.lh-1{line-height:1}.cursor-resize-ew{cursor:ew-resize}
--------------------------------------------------------------------------------
/dist/vue-grid.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * vue-grid v0.2.8 (https://github.com/dzwillia/vue-grid)
3 | * (c) 2017 David Z. Williams
4 | * Released under the MIT License.
5 | */
6 |
7 | .vg-container {
8 | font-family: Arial, sans-serif;
9 | font-size: 13px;
10 | color: #333;
11 | }
12 | .vg-thead {
13 | box-shadow: inset 0 -1px 0 #ddd;
14 | }
15 | .vg-th,
16 | .vg-td {
17 | margin-top: -1px;
18 | margin-left: -1px;
19 | padding-top: 1px;
20 | border-color: #ddd;
21 | }
22 | .vg-th-inner,
23 | .vg-td-inner {
24 | padding: 4px 5px 4px;
25 | }
26 |
27 | /* misc */
28 | .flex-fill {
29 | -ms-flex: 1 1;
30 | flex: 1 1;
31 | min-width: 0;
32 | /* 1 */
33 | min-height: 0;
34 | /* 1 */
35 | }
36 | .b--light-moon-gray {
37 | border-color: #ddd;
38 | }
39 | .lh-1 {
40 | line-height: 1;
41 | }
42 | .cursor-resize-ew {
43 | cursor: ew-resize;
44 | }
45 |
--------------------------------------------------------------------------------
/docs-src/GridOptions.vue:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 |
16 |
32 |
--------------------------------------------------------------------------------
/docs-src/GridMetricsValue.vue:
--------------------------------------------------------------------------------
1 |
2 | {{val}}
3 |
4 |
5 |
32 |
33 |
50 |
--------------------------------------------------------------------------------
/src/components/GridRowHandle.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
43 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/components/GridCell.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{value}}
5 |
6 |
7 |
8 |
9 |
57 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | vue-grid - A flexible grid component for Vue.js
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/components/GridHeaderCell.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{value}}
6 |
7 |
8 |
9 |
14 |
15 |
16 |
17 |
54 |
--------------------------------------------------------------------------------
/src/components/GridHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
14 |
15 |
16 |
50 |
--------------------------------------------------------------------------------
/src/components/GridHeaderRowHandle.vue:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
56 |
--------------------------------------------------------------------------------
/docs-src/GridInteractions.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
18 |
19 |
20 |
21 |
22 |
23 |
53 |
--------------------------------------------------------------------------------
/src/components/GridRow.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
14 |
15 |
61 |
--------------------------------------------------------------------------------
/docs-src/Sidebar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{description}}.
4 |
5 |
6 |
19 |
20 | {{item.name}}
21 |
22 |
23 |
24 |
25 |
51 |
52 |
68 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vue-grid
2 | > A flexible grid component for Vue.js
3 |
4 | vue-grid is designed to be an advanced [Vue.js](http://vuejs.org) grid component allowing for fast loading and rendering of tabular data.
5 |
6 | ## Documentation
7 | [https://github.com/dzwillia/vue-grid/](https://github.com/dzwillia/vue-grid/)
8 |
9 | ## Demo
10 |
11 | [https://dzwillia.github.io/vue-grid](https://dzwillia.github.io/vue-grid)
12 |
13 | ## Requirements
14 | * [Vue.js](http://vuejs.org/) (^v2.1.4)
15 |
16 | ## Browser support
17 | IE 10+ (due to [Flexbox support](https://caniuse.com/#feat=flexbox)).
18 |
19 | ## Installation
20 |
21 | ### NPM
22 |
23 | ```bash
24 | npm install vue-grid2 --save
25 | ```
26 |
27 | ### Usage
28 | > All styling for this component is done using [Tachyons.css](https://github.com/tachyons-css/tachyons/). No external CSS files are required at this time.
29 |
30 | ### ES6
31 |
32 | ```js
33 |
36 | ```
37 |
38 | Please note that for now the JSON payload must be formatted as follows:
39 |
40 | ```json
41 | {
42 | "columns": [
43 | { "name": "col1" },
44 | { "name": "col2" },
45 | { "name": "col3" }
46 | ],
47 | "rows": [
48 | {
49 | "col1": "Column 1 Row 1",
50 | "col2": "Column 2 Row 1",
51 | "col3": "Column 3 Row 1"
52 | },{
53 | "col1": "Column 1 Row 2",
54 | "col2": "Column 2 Row 2",
55 | "col3": "Column 3 Row 2"
56 | },{
57 | "col1": "Column 1 Row 3",
58 | "col2": "Column 2 Row 3",
59 | "col3": "Column 3 Row 3"
60 | }
61 | ],
62 | "total_count": 1000
63 | }
64 | ```
65 |
66 | The `columns` node only needs to be provided on the first call.
67 |
68 | ## License
69 | vue-grid is open source and released under the [MIT License](LICENSE).
70 |
71 | Copyright (c) 2017 [David Z Williams](https://twitter.com/padredaveo).
72 |
73 | > *PS: I would love to know if you're using vue-grid. Tweet to me at [@padredaveo](https://twitter.com/padredaveo)*.
74 |
--------------------------------------------------------------------------------
/src/data/simple.js:
--------------------------------------------------------------------------------
1 | export default {
2 | total_count: 10,
3 | columns: [
4 | { name: 'id' },
5 | { name: 'first_name' },
6 | { name: 'last_name' },
7 | { name: 'email' },
8 | { name: 'gender' },
9 | { name: 'ip_address' }
10 | ],
11 | rows: [{
12 | id: 1,
13 | first_name: 'Phyllis',
14 | last_name: 'Johnston',
15 | email: 'pjohnston0@drupal.org',
16 | gender: 'Female',
17 | ip_address: '210.13.57.74'
18 | },{
19 | id: 2,
20 | first_name: 'Billy',
21 | last_name: 'Olson',
22 | email: 'bolson1@altervista.org',
23 | gender: 'Male',
24 | ip_address: '51.200.83.232'
25 | },{
26 | id: 3,
27 | first_name: 'Peter',
28 | last_name: 'Porter',
29 | email: 'pporter2@ed.gov',
30 | gender: 'Male',
31 | ip_address: '214.130.223.48'
32 | },{
33 | id: 4,
34 | first_name: 'Alan',
35 | last_name: 'Chapman',
36 | email: 'achapman3@addtoany.com',
37 | gender: 'Male',
38 | ip_address: '105.113.204.220'
39 | },{
40 | id: 5,
41 | first_name: 'Amanda',
42 | last_name: 'Murray',
43 | email: 'amurray4@fda.gov',
44 | gender: 'Female',
45 | ip_address: '229.239.160.173'
46 | },{
47 | id: 6,
48 | first_name: 'Heather',
49 | last_name: 'Wood',
50 | email: 'hwood5@tmall.com',
51 | gender: 'Female',
52 | ip_address: '39.18.172.229'
53 | },{
54 | id: 7,
55 | first_name: 'Peter',
56 | last_name: 'Hunter',
57 | email: 'phunter6@is.gd',
58 | gender: 'Male',
59 | ip_address: '132.201.130.155'
60 | },{
61 | id: 8,
62 | first_name: 'Sean',
63 | last_name: 'Hamilton',
64 | email: 'shamilton7@fotki.com',
65 | gender: 'Male',
66 | ip_address: '128.145.63.156'
67 | },{
68 | id: 9,
69 | first_name: 'Juan',
70 | last_name: 'Castillo',
71 | email: 'jcastillo8@pcworld.com',
72 | gender: 'Male',
73 | ip_address: '207.133.114.80'
74 | },{
75 | id: 10,
76 | first_name: 'Deborah',
77 | last_name: 'Harper',
78 | email: 'dharper9@cargocollective.com',
79 | gender: 'Female',
80 | ip_address: '164.129.103.105'
81 | }]
82 | }
83 |
--------------------------------------------------------------------------------
/docs-src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
34 |
35 |
50 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-grid2",
3 | "version": "0.2.15",
4 | "description": "A flexible grid component for Vue.js",
5 | "author": "David Z. Williams ",
6 | "main": "dist/vue-grid.js",
7 | "scripts": {
8 | "dev": "cross-env NODE_ENV=development webpack-dev-server --config ./build/webpack.dev.js --open --inline --hot",
9 | "build:debug": "cross-env NODE_ENV=debug webpack --config build/webpack.dist.js",
10 | "build:release": "cross-env NODE_ENV=production webpack --config build/webpack.dist.js",
11 | "build:docs": "webpack --config build/webpack.docs.js",
12 | "build": "npm run build:debug && npm run build:release && npm run build:docs",
13 | "clean": "rimraf ./dist ./docs/docs.bundle.css ./docs/docs.bundle.js"
14 | },
15 | "repository": {
16 | "type": "git",
17 | "url": "git+https://github.com/dzwillia/vue-grid.git"
18 | },
19 | "keywords": [
20 | "vue",
21 | "vuejs",
22 | "ui",
23 | "components",
24 | "table",
25 | "grid"
26 | ],
27 | "license": "MIT",
28 | "bugs": {
29 | "url": "https://github.com/dzwillia/vue-grid/issues"
30 | },
31 | "homepage": "https://github.com/dzwillia/vue-grid/",
32 | "dependencies": {
33 | "axios": "^0.16.1",
34 | "tachyons": "^4.6.1",
35 | "vue-resize-directive": "^1.0.0",
36 | "vue-router": "^2.5.3",
37 | "vue-simple-spinner": "^1.2.8"
38 | },
39 | "devDependencies": {
40 | "autoprefixer": "^6.7.7",
41 | "babel-core": "^6.0.0",
42 | "babel-loader": "^7.1.2",
43 | "babel-plugin-lodash": "^3.2.11",
44 | "babel-plugin-transform-es2015-destructuring": "^6.19.0",
45 | "babel-plugin-transform-es2015-parameters": "^6.18.0",
46 | "babel-plugin-transform-object-rest-spread": "^6.19.0",
47 | "babel-plugin-transform-runtime": "^6.23.0",
48 | "babel-preset-env": "^1.4.0",
49 | "babel-preset-es2015": "^6.0.0",
50 | "babel-preset-stage-2": "^6.24.1",
51 | "cross-env": "^3.0.0",
52 | "css-loader": "^0.25.0",
53 | "deep-assign": "^2.0.0",
54 | "extract-text-webpack-plugin": "^3.0.0",
55 | "rimraf": "^2.6.1",
56 | "vue": "^2.2.6",
57 | "vue-loader": "^11.3.3",
58 | "vue-style-loader": "^3.0.0",
59 | "vue-template-compiler": "^2.2.6",
60 | "webpack": "^3.5.6",
61 | "webpack-bundle-analyzer": "^2.2.1",
62 | "webpack-dev-server": "^2.7.1"
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/docs-src/GridMetrics.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Metrics
4 |
5 |
6 |
7 | Dimensions
8 |
9 |
10 | Mouse position:
11 |
12 | x:
13 | y:
14 |
15 |
16 |
17 | Scroll top:
18 |
19 |
20 |
21 | Scroll left:
22 |
23 |
24 |
25 | Offset top:
26 |
27 |
28 |
29 | Offset left:
30 |
31 |
32 |
33 | Offset height:
34 |
35 |
36 |
37 | Offset width:
38 |
39 |
40 |
41 | Client height:
42 |
43 |
44 |
45 | Client width:
46 |
47 |
48 |
49 | Content height:
50 |
51 |
52 |
53 | Content width:
54 |
55 |
56 |
57 | Row handle width:
58 |
59 |
60 |
61 | Calculated Values
62 |
63 |
64 | Rendered row count:
65 |
66 |
67 |
68 | Cached row count:
69 |
70 |
71 |
72 | First visible row:
73 |
74 |
75 |
76 | Last visible row:
77 |
78 |
79 |
80 | Visible row count:
81 |
82 |
83 |
84 | Total row count:
85 |
86 |
87 |
88 | Visible column count:
89 |
90 |
91 |
92 | Total column count:
93 |
94 |
95 |
96 | First visible column
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | Attribute
105 | Value
106 |
107 |
108 |
109 |
110 | {{k}}
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 | Last visible column
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 | Attribute
128 | Value
129 |
130 |
131 |
132 |
133 | {{k}}
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
172 |
173 |
179 |
--------------------------------------------------------------------------------
/src/components/Grid.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
16 |
17 |
18 |
22 |
28 |
29 |
30 |
31 |
32 |
39 |
40 |
41 |
42 |
49 |
50 |
51 |
52 |
53 |
54 |
63 |
64 |
65 |
66 |
67 |
68 |
684 |
685 |
729 |
--------------------------------------------------------------------------------
/dist/vue-grid.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * vue-grid v0.2.15 (https://github.com/dzwillia/vue-grid)
3 | * (c) 2024 David Z. Williams
4 | * Released under the MIT License.
5 | */
6 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueGrid=e():t.VueGrid=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=86)}([function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){"use strict";function r(t){return"[object Array]"===O.call(t)}function o(t){return"undefined"!=typeof Buffer&&Buffer.isBuffer&&Buffer.isBuffer(t)}function i(t){return"[object ArrayBuffer]"===O.call(t)}function u(t){return"undefined"!=typeof FormData&&t instanceof FormData}function s(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer}function c(t){return"string"==typeof t}function a(t){return"number"==typeof t}function f(t){return void 0===t}function l(t){return null!==t&&"object"==typeof t}function d(t){return"[object Date]"===O.call(t)}function p(t){return"[object File]"===O.call(t)}function h(t){return"[object Blob]"===O.call(t)}function v(t){return"[object Function]"===O.call(t)}function _(t){return l(t)&&v(t.pipe)}function m(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams}function y(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function b(t,e){if(null!==t&&void 0!==t)if("object"==typeof t||r(t)||(t=[t]),r(t))for(var n=0,o=t.length;n-1&&t%1==0&&t-1&&t%1==0&&t<=r}var r=9007199254740991;t.exports=n},function(t,e,n){var r=n(146),o=n(30),i=n(147),u=n(148),s=n(149),c=n(4),a=n(48),f=a(r),l=a(o),d=a(i),p=a(u),h=a(s),v=c;(r&&"[object DataView]"!=v(new r(new ArrayBuffer(1)))||o&&"[object Map]"!=v(new o)||i&&"[object Promise]"!=v(i.resolve())||u&&"[object Set]"!=v(new u)||s&&"[object WeakMap]"!=v(new s))&&(v=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?a(n):"";if(r)switch(r){case f:return"[object DataView]";case l:return"[object Map]";case d:return"[object Promise]";case p:return"[object Set]";case h:return"[object WeakMap]"}return e}),t.exports=v},function(t,e,n){function r(t,e,n){"__proto__"==e&&o?o(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var o=n(69);t.exports=r},function(t,e,n){var r=n(62),o=r(Object.getPrototypeOf,Object);t.exports=o},function(t,e,n){function r(t){var e=new t.constructor(t.byteLength);return new o(e).set(new o(t)),e}var o=n(52);t.exports=r},function(t,e,n){"use strict";function r(t,e){!o.isUndefined(t)&&o.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var o=n(1),i=n(228),u={"Content-Type":"application/x-www-form-urlencoded"},s={adapter:function(){var t;return"undefined"!=typeof XMLHttpRequest?t=n(82):"undefined"!=typeof process&&(t=n(82)),t}(),transformRequest:[function(t,e){return i(e,"Content-Type"),o.isFormData(t)||o.isArrayBuffer(t)||o.isBuffer(t)||o.isStream(t)||o.isFile(t)||o.isBlob(t)?t:o.isArrayBufferView(t)?t.buffer:o.isURLSearchParams(t)?(r(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):o.isObject(t)?(r(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},o.forEach(["delete","get","head"],function(t){s.headers[t]={}}),o.forEach(["post","put","patch"],function(t){s.headers[t]=o.merge(u)}),t.exports=s},function(t,e,n){function r(t){return"string"==typeof t||!i(t)&&u(t)&&o(t)==s}var o=n(4),i=n(0),u=n(5),s="[object String]";t.exports=r},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(e,n(46))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){function r(t){if(!i(t))return!1;var e=o(t);return e==s||e==c||e==u||e==a}var o=n(4),i=n(3),u="[object AsyncFunction]",s="[object Function]",c="[object GeneratorFunction]",a="[object Proxy]";t.exports=r},function(t,e){function n(t){if(null!=t){try{return o.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var r=Function.prototype,o=r.toString;t.exports=n},function(t,e,n){function r(t){return null==t?"":o(t)}var o=n(121);t.exports=r},function(t,e,n){function r(t,e,n,u,s){return t===e||(null==t||null==e||!i(t)&&!i(e)?t!==t&&e!==e:o(t,e,n,u,r,s))}var o=n(131),i=n(5);t.exports=r},function(t,e,n){function r(t,e,n,r,a,f){var l=n&s,d=t.length,p=e.length;if(d!=p&&!(l&&p>d))return!1;var h=f.get(t);if(h&&f.get(e))return h==e;var v=-1,_=!0,m=n&c?new o:void 0;for(f.set(t,e),f.set(e,t);++v=e||n<0||S&&r>=b}function p(){var t=i();if(d(t))return h(t);g=setTimeout(p,l(t))}function h(t){return g=void 0,E&&y?r(t):(y=x=void 0,w)}function v(){void 0!==g&&clearTimeout(g),O=0,y=j=x=g=void 0}function _(){return void 0===g?w:h(i())}function m(){var t=i(),n=d(t);if(y=arguments,x=this,j=t,n){if(void 0===g)return f(j);if(S)return g=setTimeout(p,e),r(j)}return void 0===g&&(g=setTimeout(p,e)),w}var y,x,b,w,g,j,O=0,z=!1,S=!1,E=!0;if("function"!=typeof t)throw new TypeError(s);return e=u(e)||0,o(n)&&(z=!!n.leading,S="maxWait"in n,b=S?c(u(n.maxWait)||0,e):b,E="trailing"in n?!!n.trailing:E),m.cancel=v,m.flush=_,m}var o=n(3),i=n(185),u=n(67),s="Expected a function",c=Math.max,a=Math.min;t.exports=r},function(t,e,n){function r(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var r=arguments,u=-1,s=i(r.length-e,0),c=Array(s);++un.parts.length&&(r.parts.length=n.parts.length)}else{for(var u=[],o=0;ot.client_width;return e+=n.pixel_width+1,!r&&!o})},first_visible_column:function(){return(0,L.default)(this.render_cols)},last_visible_column:function(){return(0,N.default)(this.render_cols)},visible_column_count:function(){return(0,I.default)(this.render_cols)},total_column_count:function(){return(0,I.default)(this.columns)},resize_delta:function(){return-1==this.mousedown_x?0:this.mouse_x-this.mousedown_x},vertical_scrollbar_left:function(){return this.offset_left+this.client_width},vertical_scrollbar_right:function(){return this.offset_left+this.offset_width},horizontal_scrollbar_top:function(){return this.offset_top+this.client_height},horizontal_scrollbar_bottom:function(){return this.offset_top+this.offset_height},is_potential_horizontal_scroll:function(){return!!this.is_horizontal_scroll_active||!(this.mouse_x/this.vertical_scrollbar_left>this.mouse_y/this.horizontal_scrollbar_top)&&(this.mouse_y>=2*this.horizontal_scrollbar_top/3&&this.mouse_y=e.start+e.rendered_row_count&&(e.start=e.first_visible_row,e.tryFetchDebounced())})},onScroll:function(){var t=this.$refs.tbody.scrollTop,e=this.$refs.tbody.scrollLeft;return this.scroll_top!=t?this.scrollVerticalThrottled(t,this.scroll_top):this.scroll_left!=e?this.scrollHorizontal(e,this.scroll_left):void 0},scrollVertical:function(t,e){this.scroll_top=t,this.last_visible_row>=this.start+this.rendered_row_count&&(this.start=this.first_visible_row,this.tryFetchDebounced()),this.first_visible_row-1}var o=n(21);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var o=n(21);t.exports=r},function(t,e,n){function r(t){var e=o(this,t).delete(t);return this.size-=e?1:0,e}var o=n(23);t.exports=r},function(t,e){function n(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}t.exports=n},function(t,e,n){function r(t){return o(this,t).get(t)}var o=n(23);t.exports=r},function(t,e,n){function r(t){return o(this,t).has(t)}var o=n(23);t.exports=r},function(t,e,n){function r(t,e){var n=o(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var o=n(23);t.exports=r},function(t,e,n){function r(t){if("string"==typeof t)return t;if(u(t))return i(t,r)+"";if(s(t))return f?f.call(t):"";var e=t+"";return"0"==e&&1/t==-c?"-0":e}var o=n(10),i=n(31),u=n(0),s=n(18),c=1/0,a=o?o.prototype:void 0,f=a?a.toString:void 0;t.exports=r},function(t,e,n){var r=n(123),o=n(156),i=r(o);t.exports=i},function(t,e,n){function r(t){return function(e,n,r){var s=Object(e);if(!i(e)){var c=o(n,3);e=u(e),n=function(t){return c(s[t],t,s)}}var a=t(e,n,r);return a>-1?s[c?e[a]:a]:void 0}}var o=n(16),i=n(6),u=n(9);t.exports=r},function(t,e,n){function r(t){var e=i(t);return 1==e.length&&e[0][2]?u(e[0][0],e[0][1]):function(n){return n===t||o(n,t,e)}}var o=n(125),i=n(150),u=n(64);t.exports=r},function(t,e,n){function r(t,e,n,r){var c=n.length,a=c,f=!r;if(null==t)return!a;for(t=Object(t);c--;){var l=n[c];if(f&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++c1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(u=t.length>3&&"function"==typeof u?(o--,u):void 0,s&&i(n[0],n[1],s)&&(u=o<3?void 0:u,o=1),e=Object(e);++r0){if(++e>=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;t.exports=n},function(t,e,n){function r(t,e,n){if(!s(n))return!1;var r=typeof e;return!!("number"==r?i(n)&&u(e,n.length):"string"==r&&e in n)&&o(n[e],t)}var o=n(22),i=n(6),u=n(24),s=n(3);t.exports=r},function(t,e,n){var r=n(195),o=n(77),i=o(function(t,e){return null==t?{}:r(t,e)});t.exports=i},function(t,e,n){function r(t,e){return o(t,e,function(e,n){return i(t,n)})}var o=n(196),i=n(65);t.exports=r},function(t,e,n){function r(t,e,n){for(var r=-1,s=e.length,c={};++r0&&n(f)?e>1?r(f,e-1,n,u,s):o(s,f):u||(s[s.length]=f)}return s}var o=n(33),i=n(200);t.exports=r},function(t,e,n){function r(t){return u(t)||i(t)||!!(s&&t&&t[s])}var o=n(10),i=n(35),u=n(0),s=o?o.isConcatSpreadable:void 0;t.exports=r},function(t,e,n){function r(t,e){var n={};return e=u(e,3),i(t,function(t,r,i){o(n,r,e(t,r,i))}),n}var o=n(40),i=n(78),u=n(16);t.exports=r},function(t,e,n){var r=n(203),o=r();t.exports=o},function(t,e){function n(t){return function(e,n,r){for(var o=-1,i=Object(e),u=r(e),s=u.length;s--;){var c=u[t?s:++o];if(!1===n(i[c],c,i))break}return e}}t.exports=n},function(t,e,n){var r=n(31),o=n(68),i=n(205),u=n(11),s=n(13),c=n(208),a=n(77),f=n(72),l=a(function(t,e){var n={};if(null==t)return n;var a=!1;e=r(e,function(e){return e=u(e,t),a||(a=e.length>1),e}),s(t,f(t),n),a&&(n=o(n,7,c));for(var l=e.length;l--;)i(n,e[l]);return n});t.exports=l},function(t,e,n){function r(t,e){return e=o(e,t),null==(t=u(t,e))||delete t[s(i(e))]}var o=n(11),i=n(79),u=n(206),s=n(12);t.exports=r},function(t,e,n){function r(t,e){return e.length<2?t:o(t,i(e,0,-1))}var o=n(17),i=n(207);t.exports=r},function(t,e){function n(t,e,n){var r=-1,o=t.length;e<0&&(e=-e>o?0:o+e),n=n>o?o:n,n<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=Array(o);++r>8-s%1*8)){if((n=o.charCodeAt(s+=.75))>255)throw new r;e=e<<8|n}return u}var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.prototype=new Error,r.prototype.code=5,r.prototype.name="InvalidCharacterError",t.exports=o},function(t,e,n){"use strict";var r=n(1);t.exports=r.isStandardBrowserEnv()?function(){return{write:function(t,e,n,o,i,u){var s=[];s.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(o)&&s.push("path="+o),r.isString(i)&&s.push("domain="+i),!0===u&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(t,e,n){"use strict";function r(){this.handlers=[]}var o=n(1);r.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},r.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},r.prototype.forEach=function(t){o.forEach(this.handlers,function(e){null!==e&&t(e)})},t.exports=r},function(t,e,n){"use strict";function r(t){t.cancelToken&&t.cancelToken.throwIfRequested()}var o=n(1),i=n(238),u=n(84),s=n(43);t.exports=function(t){return r(t),t.headers=t.headers||{},t.data=i(t.data,t.headers,t.transformRequest),t.headers=o.merge(t.headers.common||{},t.headers[t.method]||{},t.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(e){delete t.headers[e]}),(t.adapter||s.adapter)(t).then(function(e){return r(t),e.data=i(e.data,e.headers,t.transformResponse),e},function(e){return u(e)||(r(t),e&&e.response&&(e.response.data=i(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)})}},function(t,e,n){"use strict";var r=n(1);t.exports=function(t,e,n){return r.forEach(n,function(n){t=n(t,e)}),t}},function(t,e,n){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},function(t,e,n){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},function(t,e,n){"use strict";function r(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(t){e=t});var n=this;t(function(t){n.reason||(n.reason=new o(t),e(n.reason))})}var o=n(85);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var t;return{token:new r(function(e){t=e}),cancel:t}},t.exports=r},function(t,e,n){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},function(t,e,n){!function(e,r){t.exports=r(n(244),n(245))}(0,function(t,e){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="/",e(0)}([function(t,e,n){var r,o,i;!function(u,s){o=[t,e,n(9),n(36),n(37)],r=s,void 0!==(i="function"==typeof r?r.apply(e,o):r)&&(t.exports=i)}(0,function(t,e,n,r,o){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function u(t){if(!t)return d;var e=(0,s.default)(t);return e.length?Number(e[0]):d}Object.defineProperty(e,"__esModule",{value:!0});var s=i(n),c=i(r),a=i(o),f=a.default.debounce,l=void 0===f?a.default:f,d=150;e.default={inserted:function(t,e){var n=e.value,r=e.arg,o=e.modifiers,i=function(){return n(t)};switch(r){case"debounce":i=l(function(){return n(t)},u(o));break;case"throttle":var s=u(o);i=l(function(){return n(t)},s,{leading:!0,trailing:!0,maxWait:s})}(0,c.default)(t,i)}},t.exports=e.default})},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){t.exports=!n(3)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(22),o=n(6);t.exports=function(t){return r(o(t))}},function(t,e,n){t.exports={default:n(10),__esModule:!0}},function(t,e,n){n(35),t.exports=n(1).Object.keys},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var r=n(5);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(8),o=n(31),i=n(30);t.exports=function(t){return function(e,n,u){var s,c=r(e),a=o(c.length),f=i(u,a);if(t&&n!=n){for(;a>f;)if((s=c[f++])!=s)return!0}else for(;a>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(11);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(5),o=n(4).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(4),o=n(1),i=n(15),u=n(20),s="prototype",c=function(t,e,n){var a,f,l,d=t&c.F,p=t&c.G,h=t&c.S,v=t&c.P,_=t&c.B,m=t&c.W,y=p?o:o[e]||(o[e]={}),x=y[s],b=p?r:h?r[e]:(r[e]||{})[s];p&&(n=e);for(a in n)(f=!d&&b&&void 0!==b[a])&&a in y||(l=f?b[a]:n[a],y[a]=p&&"function"!=typeof b[a]?n[a]:_&&f?i(l,r):m&&b[a]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[s]=t[s],e}(l):v&&"function"==typeof l?i(Function.call,l):l,v&&((y.virtual||(y.virtual={}))[a]=l,t&c.R&&x&&!x[a]&&u(x,a,l)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(23),o=n(27);t.exports=n(2)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){t.exports=!n(2)&&!n(3)(function(){return 7!=Object.defineProperty(n(16)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(14);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(12),o=n(21),i=n(33),u=Object.defineProperty;e.f=n(2)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return u(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(19),o=n(8),i=n(13)(!1),u=n(28)("IE_PROTO");t.exports=function(t,e){var n,s=o(t),c=0,a=[];for(n in s)n!=u&&r(s,n)&&a.push(n);for(;e.length>c;)r(s,n=e[c++])&&(~i(a,n)||a.push(n));return a}},function(t,e,n){var r=n(24),o=n(17);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(18),o=n(1),i=n(3);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],u={};u[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",u)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(29)("keys"),o=n(34);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(4),o="__core-js_shared__",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,n){var r=n(7),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(7),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(6);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(5);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(32),o=n(25);n(26)("keys",function(){return function(t){return o(r(t))}})},function(e,n){e.exports=t},function(t,n){t.exports=e}])})},function(t,e,n){var r,o;!function(i,u){r=u,void 0!==(o="function"==typeof r?r.call(e,n,e,t):r)&&(t.exports=o)}(0,function(){function t(t,e){var n=Object.prototype.toString.call(t),r="[object Array]"===n||"[object NodeList]"===n||"[object HTMLCollection]"===n||"[object Object]"===n||"undefined"!=typeof jQuery&&t instanceof jQuery||"undefined"!=typeof Elements&&t instanceof Elements,o=0,i=t.length;if(r)for(;o
',t.appendChild(t.resizeSensor),"static"==u(t,"position")&&(t.style.position="relative");var s,c,a,f,l=t.resizeSensor.childNodes[0],d=l.childNodes[0],p=t.resizeSensor.childNodes[1],h=t.offsetWidth,v=t.offsetHeight,_=function(){d.style.width="100000px",d.style.height="100000px",l.scrollLeft=1e5,l.scrollTop=1e5,p.scrollLeft=1e5,p.scrollTop=1e5};_();var m=function(){c=0,s&&(h=a,v=f,t.resizedAttached&&t.resizedAttached.call())},y=function(){a=t.offsetWidth,f=t.offsetHeight,s=a!=h||f!=v,s&&!c&&(c=e(m)),_()},x=function(t,e,n){t.attachEvent?t.attachEvent("on"+e,n):t.addEventListener(e,n)};x(l,"scroll",y),x(p,"scroll",y)}t(r,function(t){s(t,o)}),this.detach=function(t){n.detach(r,t)}};return n.detach=function(e,n){t(e,function(t){t.resizedAttached&&"function"==typeof n&&(t.resizedAttached.remove(n),t.resizedAttached.length())||t.resizeSensor&&(t.contains(t.resizeSensor)&&t.removeChild(t.resizeSensor),delete t.resizeSensor,delete t.resizedAttached)})},n})},function(t,e,n){(function(e){function n(t,e,n){function o(e){var n=v,r=_;return v=_=void 0,O=e,y=t.apply(r,n)}function i(t){return O=t,x=setTimeout(f,e),z?o(t):y}function c(t){var n=t-j,r=t-O,o=e-n;return S?w(o,m-r):o}function a(t){var n=t-j,r=t-O;return void 0===j||n>=e||n<0||S&&r>=m}function f(){var t=g();if(a(t))return l(t);x=setTimeout(f,c(t))}function l(t){return x=void 0,E&&v?o(t):(v=_=void 0,y)}function d(){void 0!==x&&clearTimeout(x),O=0,v=j=_=x=void 0}function p(){return void 0===x?y:l(g())}function h(){var t=g(),n=a(t);if(v=arguments,_=this,j=t,n){if(void 0===x)return i(j);if(S)return x=setTimeout(f,e),o(j)}return void 0===x&&(x=setTimeout(f,e)),y}var v,_,m,y,x,j,O=0,z=!1,S=!1,E=!0;if("function"!=typeof t)throw new TypeError(s);return e=u(e)||0,r(n)&&(z=!!n.leading,S="maxWait"in n,m=S?b(u(n.maxWait)||0,e):m,E="trailing"in n?!!n.trailing:E),h.cancel=d,h.flush=p,h}function r(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function o(t){return!!t&&"object"==typeof t}function i(t){return"symbol"==typeof t||o(t)&&x.call(t)==a}function u(t){if("number"==typeof t)return t;if(i(t))return c;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(f,"");var n=d.test(t);return n||p.test(t)?h(t.slice(2),n?2:8):l.test(t)?c:+t}var s="Expected a function",c=NaN,a="[object Symbol]",f=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,d=/^0b[01]+$/i,p=/^0o[0-7]+$/i,h=parseInt,v="object"==typeof e&&e&&e.Object===Object&&e,_="object"==typeof self&&self&&self.Object===Object&&self,m=v||_||Function("return this")(),y=Object.prototype,x=y.toString,b=Math.max,w=Math.min,g=function(){return m.Date.now()};t.exports=n}).call(e,n(46))},function(t,e,n){var r=n(7)(n(247),n(248),null,null);t.exports=r.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(14);e.default={props:{"row-height":{type:Number,default:r.DEFAULT_ROW_HEIGHT},"row-handle-width":{type:Number,default:r.DEFAULT_ROW_HEIGHT}},data:function(){return{column_resize_handle_width:r.COLUMN_RESIZE_HANDLE_WIDTH}},computed:{row_handle_style:function(){return{height:this.rowHeight+1+"px"}},inner_row_handle_style:function(){return{width:this.rowHandleWidth+"px"}}},methods:{onRowHandleResizerMousedown:function(){this.$emit("start-row-handle-resize")}}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"overflow-hidden ba absolute bg-near-white z-1 vg-th",style:t.row_handle_style},[n("div",{staticClass:"h-100 lh-1 light-silver tr vg-th-inner",style:t.inner_row_handle_style}),t._v(" "),n("div",{staticClass:"absolute top-0 bottom-0 right-0 cursor-resize-ew",style:"width: "+t.column_resize_handle_width+"px",on:{mousedown:t.onRowHandleResizerMousedown}})])},staticRenderFns:[]}},function(t,e,n){var r=n(7)(n(250),n(254),null,null);t.exports=r.exports},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(15),i=r(o),u=n(14),s=n(251),c=r(s);e.default={props:{"row-height":{type:Number,default:u.DEFAULT_ROW_HEIGHT},columns:{type:Array,required:!0}},components:{GridHeaderCell:c.default},methods:{getColumnName:function(t){return(0,i.default)(t,"name","")},onColumnResizerMousedown:function(t){this.$emit("start-column-resize",t)},onHeaderCellDetermineWidth:function(t,e){this.$emit("determine-cell-auto-width","header",t,e)}}}},function(t,e,n){var r=n(7)(n(252),n(253),null,null);t.exports=r.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(14);e.default={props:{col:{type:Object,required:!0},value:{required:!0},width:{type:Number,required:!0}},data:function(){return{content_width:0,column_resize_handle_width:r.COLUMN_RESIZE_HANDLE_WIDTH}},mounted:function(){var t=this.$refs.content;this.content_width=t?t.offsetWidth:0,this.$emit("determine-auto-width",this.col,this.content_width)},methods:{onColumnResizerMousedown:function(){this.$emit("column-resizer-mousedown",this.col)}}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{staticClass:"h-100 lh-1 vg-th-inner",style:"width: "+t.width+"px"},[n("span",{ref:"content"},[t._v(t._s(t.value))])]),t._v(" "),n("div",{staticClass:"absolute top-0 bottom-0 right-0 cursor-resize-ew",style:"width: "+t.column_resize_handle_width+"px",on:{mousedown:t.onColumnResizerMousedown}})])},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"relative nowrap"},t._l(t.columns,function(e,r){return n("grid-header-cell",{staticClass:"dib v-top overflow-hidden ba bg-near-white relative tc vg-th",style:"height: "+(t.rowHeight+1)+"px",attrs:{col:e,value:t.getColumnName(e),width:e.pixel_width||0},on:{"column-resizer-mousedown":t.onColumnResizerMousedown,"determine-auto-width":t.onHeaderCellDetermineWidth}})}))},staticRenderFns:[]}},function(t,e,n){var r=n(7)(n(256),n(257),null,null);t.exports=r.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(14);e.default={props:{"row-index":{type:Number,required:!0},"row-height":{type:Number,default:r.DEFAULT_ROW_HEIGHT},"row-handle-width":{type:Number,default:r.DEFAULT_ROW_HEIGHT}},computed:{row_style:function(){return{top:this.rowIndex*this.rowHeight+"px",height:this.rowHeight+1+"px"}},inner_row_handle_style:function(){return{width:this.rowHandleWidth+"px"}}}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"absolute nowrap",style:t.row_style},[n("div",{staticClass:"h-100 lh-1 light-silver tr vg-td-inner",style:t.inner_row_handle_style},[t._v(t._s(t.rowIndex+1))])])},staticRenderFns:[]}},function(t,e,n){var r=n(7)(n(259),n(263),null,null);t.exports=r.exports},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(15),i=r(o),u=n(14),s=n(260),c=r(s);e.default={props:{row:{type:Object,required:!0},"row-index":{type:Number,required:!0},"row-height":{type:Number,default:u.DEFAULT_ROW_HEIGHT},columns:{type:Array,required:!0}},components:{GridCell:c.default},computed:{row_style:function(){return{top:this.rowIndex*this.rowHeight+"px"}}},methods:{getColumnName:function(t){return(0,i.default)(t,"name","")},onCellDetermineWidth:function(t,e){this.$emit("determine-cell-auto-width",this.rowIndex,t,e)}}}},function(t,e,n){var r=n(7)(n(261),n(262),null,null);t.exports=r.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(15),o=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default={props:{col:{type:Object,required:!0},value:{required:!0},width:{type:Number,required:!0}},data:function(){return{content_width:0}},computed:{cls:function(){switch((0,o.default)(this.col,"type","text")){case"bool":case"boolean":case"date":case"datetime":return"tc";case"integer":case"float":case"number":case"numeric":return"tr"}return""}},mounted:function(){var t=this.$refs.content;this.content_width=t?t.offsetWidth:0,this.$emit("determine-auto-width",this.col,this.content_width)}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{staticClass:"h-100 lh-1 vg-td-inner",class:t.cls,style:"width: "+t.width+"px"},[n("span",{ref:"content"},[t._v(t._s(t.value))])])])},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"absolute nowrap",style:t.row_style},t._l(t.columns,function(e,r){return n("grid-cell",{staticClass:"dib v-top overflow-hidden ba vg-td",style:"height: "+(t.rowHeight+1)+"px",attrs:{col:e,value:t.row[t.getColumnName(e)],width:e.pixel_width||0},on:{"determine-auto-width":t.onCellDetermineWidth}})}))},staticRenderFns:[]}},function(t,e,n){/*!
7 | * vue-simple-spinner v1.2.8 (https://github.com/dzwillia/vue-simple-spinner)
8 | * (c) 2017 David Z. Williams
9 | * Released under the MIT License.
10 | */
11 | !function(e,n){t.exports=n()}(0,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=0)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VueSimpleSpinner=void 0;var r=n(1),o=function(t){return t&&t.__esModule?t:{default:t}}(r);"undefined"!=typeof window&&window.Vue&&Vue.component("vue-simple-spinner",o.default),e.VueSimpleSpinner=o.default,e.default=o.default},function(t,e,n){n(2);var r=n(7)(n(8),n(9),null,null);t.exports=r.exports},function(t,e,n){var r=n(3);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);n(5)("d89557e4",r,!0)},function(t,e,n){e=t.exports=n(4)(),e.push([t.i,".vue-simple-spinner{transition:all .3s linear}@keyframes vue-simple-spinner-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}",""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;en.parts.length&&(r.parts.length=n.parts.length)}else{for(var u=[],o=0;o0?n("div",{staticClass:"vue-simple-spinner-text",style:t.text_style},[t._v(t._s(t.message))]):t._e()])},staticRenderFns:[]}}]).default})},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"container",staticClass:"flex flex-column relative bg-white h-100 vg-container"},[t.inited?n("div",{staticClass:"flex flex-column relative bg-white h-100 overflow-hidden"},[t.inited?n("grid-header-row-handle",{staticClass:"z-2 ba bg-near-white vg-td",attrs:{"row-height":t.row_height,"row-handle-width":t.row_handle_width},on:{"start-row-handle-resize":t.onStartRowHandleResize}}):t._e(),t._v(" "),n("div",{staticClass:"flex-none overflow-hidden bg-near-white vg-thead",style:"margin-left: "+(t.row_handle_width+t.left_of_render_cols_width-t.scroll_left+1)+"px"},[n("grid-header",{attrs:{"row-handle-width":t.row_handle_width,columns:t.render_cols},on:{"start-column-resize":t.onStartColumnResize,"determine-cell-auto-width":t.initializeColumnWidths}})],1),t._v(" "),n("div",{staticClass:"absolute z-1",style:"top: "+(t.row_height-t.scroll_top)+"px"},t._l(t.render_rows,function(e,r){return n("grid-row-handle",{staticClass:"ba bg-near-white vg-td",attrs:{"row-index":t.start+r,"row-height":t.row_height,"row-handle-width":t.row_handle_width}})})),t._v(" "),n("div",{directives:[{name:"resize",rawName:"v-resize",value:t.onResize,expression:"onResize"}],ref:"tbody",staticClass:"flex-fill relative overflow-auto vg-tbody",style:"margin-left: "+(t.row_handle_width+1)+"px",on:{scroll:t.onScroll}},[n("div",{staticClass:"absolute top-0 left-0",style:"z-index: -1; width: 1px; height: "+t.total_height+"px"}),t._v(" "),n("div",{staticClass:"absolute top-0 left-0",style:"z-index: -1; height: 1px; width: "+t.total_width+"px"}),t._v(" "),t._l(t.render_rows,function(e,r){return n("grid-row",{style:"padding-left: "+t.left_of_render_cols_width+"px",attrs:{row:e,"row-index":t.start+r,"row-height":t.row_height,columns:t.render_cols},on:{"determine-cell-auto-width":t.initializeColumnWidths}})})],2)],1):n("div",{staticClass:"flex flex-column justify-center h-100"},[n("spinner",{attrs:{size:"large",message:"Loading..."}})],1)])},staticRenderFns:[]}}]).default});
--------------------------------------------------------------------------------