Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Fractalis
fractal.js
Commits
4781e075
Commit
4781e075
authored
Feb 20, 2018
by
Sascha Herzinger
Browse files
removed jquery and cleaned up some databox code to
parent
0fae3d5a
Changes
13
Hide whitespace changes
Inline
Side-by-side
package-lock.json
View file @
4781e075
...
...
@@ -1064,12 +1064,11 @@
"integrity"
:
"sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
},
"axios"
:
{
"version"
:
"0.16.
2
"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-0.16.
2
.tgz"
,
"integrity"
:
"sha1-
uk+S8XFn37q0CYN4VFS5rBScPG0
="
,
"version"
:
"0.16.
1
"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-0.16.
1
.tgz"
,
"integrity"
:
"sha1-
wLbSZgCEI4S49QnlcRHw0t+CI8o
="
,
"requires"
:
{
"follow-redirects"
:
"1.2.4"
,
"is-buffer"
:
"1.1.5"
"follow-redirects"
:
"1.4.1"
}
},
"babel-code-frame"
:
{
...
...
@@ -2604,29 +2603,6 @@
"d3-zoom"
:
"1.7.1"
},
"dependencies"
:
{
"d3-dsv"
:
{
"version"
:
"1.0.8"
,
"resolved"
:
"https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.8.tgz"
,
"integrity"
:
"sha512-IVCJpQ+YGe3qu6odkPQI0KPqfxkhbP/oM1XhhE/DFiYmcXKfCRub4KXyiuehV1d4drjWVXHUWx4gHqhdZb6n/A=="
,
"requires"
:
{
"commander"
:
"2.10.0"
,
"iconv-lite"
:
"0.4.19"
,
"rw"
:
"1.3.3"
}
},
"d3-format"
:
{
"version"
:
"1.2.2"
,
"resolved"
:
"https://registry.npmjs.org/d3-format/-/d3-format-1.2.2.tgz"
,
"integrity"
:
"sha512-zH9CfF/3C8zUI47nsiKfD0+AGDEuM8LwBIP7pBVpyR4l/sKkZqITmMtxRp04rwBrlshIZ17XeFAaovN3++wzkw=="
},
"d3-geo"
:
{
"version"
:
"1.9.1"
,
"resolved"
:
"https://registry.npmjs.org/d3-geo/-/d3-geo-1.9.1.tgz"
,
"integrity"
:
"sha512-l9wL/cEQkyZQYXw3xbmLsH3eQ5ij+icNfo4r0GrLa5rOCZR/e/3am45IQ0FvQ5uMsv+77zBRunLc9ufTWSQYFA=="
,
"requires"
:
{
"d3-array"
:
"1.2.1"
}
},
"d3-interpolate"
:
{
"version"
:
"1.1.6"
,
"resolved"
:
"https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz"
,
...
...
@@ -2649,24 +2625,6 @@
"d3-time-format"
:
"2.1.1"
}
},
"d3-selection"
:
{
"version"
:
"1.3.0"
,
"resolved"
:
"https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.0.tgz"
,
"integrity"
:
"sha512-qgpUOg9tl5CirdqESUAu0t9MU/t3O9klYfGfyKsXEmhyxyzLpzpeh08gaxBUTQw1uXIOkr/30Ut2YRjSSxlmHA=="
},
"d3-time"
:
{
"version"
:
"1.0.8"
,
"resolved"
:
"https://registry.npmjs.org/d3-time/-/d3-time-1.0.8.tgz"
,
"integrity"
:
"sha512-YRZkNhphZh3KcnBfitvF3c6E0JOFGikHZ4YqD+Lzv83ZHn1/u6yGenRU1m+KAk9J1GnZMnKcrtfvSktlA1DXNQ=="
},
"d3-time-format"
:
{
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.1.tgz"
,
"integrity"
:
"sha512-8kAkymq2WMfzW7e+s/IUNAtN/y3gZXGRrdGfo6R8NKPAA85UBTxZg5E61bR6nLwjPjj4d3zywSQe1CkYLPFyrw=="
,
"requires"
:
{
"d3-time"
:
"1.0.8"
}
},
"d3-transition"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/d3-transition/-/d3-transition-1.1.1.tgz"
,
...
...
@@ -2679,18 +2637,6 @@
"d3-selection"
:
"1.3.0"
,
"d3-timer"
:
"1.0.7"
}
},
"d3-zoom"
:
{
"version"
:
"1.7.1"
,
"resolved"
:
"https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.1.tgz"
,
"integrity"
:
"sha512-sZHQ55DGq5BZBFGnRshUT8tm2sfhPHFnOlmPbbwTkAoPeVdRTkB4Xsf9GCY0TSHrTD8PeJPZGmP/TpGicwJDJQ=="
,
"requires"
:
{
"d3-dispatch"
:
"1.0.3"
,
"d3-drag"
:
"1.2.1"
,
"d3-interpolate"
:
"1.1.6"
,
"d3-selection"
:
"1.3.0"
,
"d3-transition"
:
"1.1.1"
}
}
}
},
...
...
@@ -2712,7 +2658,7 @@
"d3-dispatch"
:
"1.0.3"
,
"d3-drag"
:
"1.2.1"
,
"d3-interpolate"
:
"1.1.5"
,
"d3-selection"
:
"1.
1
.0"
,
"d3-selection"
:
"1.
3
.0"
,
"d3-transition"
:
"1.1.0"
}
},
...
...
@@ -2746,13 +2692,13 @@
"integrity"
:
"sha512-Cg8/K2rTtzxzrb0fmnYOUeZHvwa4PHzwXOLZZPwtEs2SKLLKLXeYwZKBB+DlOxUvFmarOnmt//cU4+3US2lyyQ=="
,
"requires"
:
{
"d3-dispatch"
:
"1.0.3"
,
"d3-selection"
:
"1.
1
.0"
"d3-selection"
:
"1.
3
.0"
}
},
"d3-dsv"
:
{
"version"
:
"1.0.
7
"
,
"resolved"
:
"https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.
7
.tgz"
,
"integrity"
:
"sha512-
12szKhDhM/tM5U/Ch3hyJ7sMdcwPqMRmrUWitLLdPBMKO9Wuox95ezKZvemy/fxFbefLF/HIPKUmJMBLLuFDaQ
=="
,
"version"
:
"1.0.
8
"
,
"resolved"
:
"https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.
8
.tgz"
,
"integrity"
:
"sha512-
IVCJpQ+YGe3qu6odkPQI0KPqfxkhbP/oM1XhhE/DFiYmcXKfCRub4KXyiuehV1d4drjWVXHUWx4gHqhdZb6n/A
=="
,
"requires"
:
{
"commander"
:
"2.10.0"
,
"iconv-lite"
:
"0.4.19"
,
...
...
@@ -2775,6 +2721,19 @@
"d3-timer"
:
"1.0.7"
}
},
"d3-format"
:
{
"version"
:
"1.2.2"
,
"resolved"
:
"https://registry.npmjs.org/d3-format/-/d3-format-1.2.2.tgz"
,
"integrity"
:
"sha512-zH9CfF/3C8zUI47nsiKfD0+AGDEuM8LwBIP7pBVpyR4l/sKkZqITmMtxRp04rwBrlshIZ17XeFAaovN3++wzkw=="
},
"d3-geo"
:
{
"version"
:
"1.9.1"
,
"resolved"
:
"https://registry.npmjs.org/d3-geo/-/d3-geo-1.9.1.tgz"
,
"integrity"
:
"sha512-l9wL/cEQkyZQYXw3xbmLsH3eQ5ij+icNfo4r0GrLa5rOCZR/e/3am45IQ0FvQ5uMsv+77zBRunLc9ufTWSQYFA=="
,
"requires"
:
{
"d3-array"
:
"1.2.1"
}
},
"d3-hierarchy"
:
{
"version"
:
"1.1.5"
,
"resolved"
:
"https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz"
,
...
...
@@ -2820,14 +2779,36 @@
"requires"
:
{
"d3-collection"
:
"1.0.4"
,
"d3-dispatch"
:
"1.0.3"
,
"d3-dsv"
:
"1.0.
7
"
,
"d3-dsv"
:
"1.0.
8
"
,
"xmlhttprequest"
:
"1.8.0"
}
},
"d3-scale"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/d3-scale/-/d3-scale-2.0.0.tgz"
,
"integrity"
:
"sha512-Sa2Ny6CoJT7x6dozxPnvUQT61epGWsgppFvnNl8eJEzfJBG0iDBBTJAtz2JKem7Mb+NevnaZiDiIDHsuWkv6vg=="
,
"requires"
:
{
"d3-array"
:
"1.2.1"
,
"d3-collection"
:
"1.0.4"
,
"d3-format"
:
"1.2.2"
,
"d3-interpolate"
:
"1.1.5"
,
"d3-time"
:
"1.0.8"
,
"d3-time-format"
:
"2.1.1"
}
},
"d3-scale-chromatic"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.2.0.tgz"
,
"integrity"
:
"sha512-qQUhLi8fPe/F0b0M46C6eFUbms5IIMHuhJ5DKjjzBUvm1b6aPtygJzGbrMdMUD/ckLBq+NdWwHeN2cpMDp4Q5Q=="
,
"requires"
:
{
"d3-color"
:
"1.0.3"
,
"d3-interpolate"
:
"1.1.5"
}
},
"d3-selection"
:
{
"version"
:
"1.
1
.0"
,
"resolved"
:
"https://registry.npmjs.org/d3-selection/-/d3-selection-1.
1
.0.tgz"
,
"integrity"
:
"sha
1-GZhoSJZIj4OcoDchI9o08dMYgJw
="
"version"
:
"1.
3
.0"
,
"resolved"
:
"https://registry.npmjs.org/d3-selection/-/d3-selection-1.
3
.0.tgz"
,
"integrity"
:
"sha
512-qgpUOg9tl5CirdqESUAu0t9MU/t3O9klYfGfyKsXEmhyxyzLpzpeh08gaxBUTQw1uXIOkr/30Ut2YRjSSxlmHA=
="
},
"d3-shape"
:
{
"version"
:
"1.2.0"
,
...
...
@@ -2837,6 +2818,19 @@
"d3-path"
:
"1.0.5"
}
},
"d3-time"
:
{
"version"
:
"1.0.8"
,
"resolved"
:
"https://registry.npmjs.org/d3-time/-/d3-time-1.0.8.tgz"
,
"integrity"
:
"sha512-YRZkNhphZh3KcnBfitvF3c6E0JOFGikHZ4YqD+Lzv83ZHn1/u6yGenRU1m+KAk9J1GnZMnKcrtfvSktlA1DXNQ=="
},
"d3-time-format"
:
{
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.1.tgz"
,
"integrity"
:
"sha512-8kAkymq2WMfzW7e+s/IUNAtN/y3gZXGRrdGfo6R8NKPAA85UBTxZg5E61bR6nLwjPjj4d3zywSQe1CkYLPFyrw=="
,
"requires"
:
{
"d3-time"
:
"1.0.8"
}
},
"d3-timer"
:
{
"version"
:
"1.0.7"
,
"resolved"
:
"https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.7.tgz"
,
...
...
@@ -2851,7 +2845,7 @@
"d3-dispatch"
:
"1.0.3"
,
"d3-ease"
:
"1.0.3"
,
"d3-interpolate"
:
"1.1.5"
,
"d3-selection"
:
"1.
1
.0"
,
"d3-selection"
:
"1.
3
.0"
,
"d3-timer"
:
"1.0.7"
}
},
...
...
@@ -2860,6 +2854,18 @@
"resolved"
:
"https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.2.tgz"
,
"integrity"
:
"sha1-Fodmfo8TotFYyAwUgMWinLDYlzw="
},
"d3-zoom"
:
{
"version"
:
"1.7.1"
,
"resolved"
:
"https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.1.tgz"
,
"integrity"
:
"sha512-sZHQ55DGq5BZBFGnRshUT8tm2sfhPHFnOlmPbbwTkAoPeVdRTkB4Xsf9GCY0TSHrTD8PeJPZGmP/TpGicwJDJQ=="
,
"requires"
:
{
"d3-dispatch"
:
"1.0.3"
,
"d3-drag"
:
"1.2.1"
,
"d3-interpolate"
:
"1.1.5"
,
"d3-selection"
:
"1.3.0"
,
"d3-transition"
:
"1.1.0"
}
},
"dashdash"
:
{
"version"
:
"1.14.1"
,
"resolved"
:
"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"
,
...
...
@@ -4383,11 +4389,21 @@
}
},
"follow-redirects"
:
{
"version"
:
"1.
2.4
"
,
"resolved"
:
"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.
2.4
.tgz"
,
"integrity"
:
"sha512-
Suw6KewLV2hReSyEOeql+UUkBVyiBm3ok1VPrVFRZnQInWpdoZbbiG5i8aJVSjTr0yQ4Ava0Sh6/joCg1Brdqw
=="
,
"version"
:
"1.
4.1
"
,
"resolved"
:
"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.
4.1
.tgz"
,
"integrity"
:
"sha512-
uxYePVPogtya1ktGnAAXOacnbIuRMB4dkvqeNz2qTtTQsuzSfbDolV+wMMKxAmCx0bLgAKLbBOkjItMbbkR1vg
=="
,
"requires"
:
{
"debug"
:
"2.6.8"
"debug"
:
"3.1.0"
},
"dependencies"
:
{
"debug"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-3.1.0.tgz"
,
"integrity"
:
"sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g=="
,
"requires"
:
{
"ms"
:
"2.0.0"
}
}
}
},
"for-in"
:
{
...
...
@@ -8529,11 +8545,6 @@
"resolved"
:
"https://registry.npmjs.org/popper.js/-/popper.js-1.12.9.tgz"
,
"integrity"
:
"sha1-DfvC3/lsRRuzMu3Pz6r1ZtMx1bM="
},
"portal-vue"
:
{
"version"
:
"1.3.0"
,
"resolved"
:
"https://registry.npmjs.org/portal-vue/-/portal-vue-1.3.0.tgz"
,
"integrity"
:
"sha512-5o1bRwgWh2705NmDYmV3uSYagvNJFTNR7PN/fKNcX5CtKH+XzM+ccANBZ+C8tWa/161TjZibxtrPyKU0te2rTQ=="
},
"portfinder"
:
{
"version"
:
"1.0.13"
,
"resolved"
:
"https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz"
,
...
...
package.json
View file @
4781e075
...
...
@@ -20,53 +20,58 @@
},
"main"
:
"src/main.js"
,
"dependencies"
:
{
"
axios
"
:
"
^0.16.1
"
,
"
d3
"
:
"
^4.13.0
"
,
"
deep-freeze-strict
"
:
"
^1.1.1
"
,
"
jquery
"
:
"
^3.3.1
"
,
"
tippy.js
"
:
"
^2.2.2
"
,
"
uuid
"
:
"
^3.2.1
"
,
"
object-path
"
:
"
^0.11.4
"
,
"
html2canvas
"
:
"
^1.0.0-alpha.9
"
,
"
resize-observer-polyfill
"
:
"
^1.5.0
"
,
"
vue
"
:
"
^2.5.13
"
,
"
vuex
"
:
"
^3.0.1
"
,
"
vue-template-compiler
"
:
"
^2.5.13
"
,
"
vue-async-computed
"
:
"
^3.3.1
"
,
"
@babel/core
"
:
"
^7.0.0-beta.40
"
,
"
@babel/runtime
"
:
"
^7.0.0-beta.40
"
,
"
@babel/plugin-proposal-object-rest-spread
"
:
"
^7.0.0-beta.40
"
,
"
@babel/plugin-transform-runtime
"
:
"
^7.0.0-beta.40
"
,
"
@babel/preset-env
"
:
"
^7.0.0-beta.40
"
,
"
babel-loader
"
:
"
^8.0.0-beta.0
"
,
"
css-loader
"
:
"
^0.28.9
"
,
"
file-loader
"
:
"
^1.1.6
"
,
"
sass-loader
"
:
"
^6.0.6
"
,
"
style-loader
"
:
"
^0.20.2
"
,
"
url-loader
"
:
"
^0.6.2
"
,
"
vue-loader
"
:
"
^14.1.1
"
,
"
vue-style-loader
"
:
"
^4.0.2
"
,
"
eslint
"
:
"
^4.17.0
"
,
"
eslint-config-standard
"
:
"
^11.0.0-beta.0
"
,
"
eslint-plugin-import
"
:
"
^2.8.0
"
,
"
eslint-plugin-node
"
:
"
^6.0.0
"
,
"
eslint-plugin-html
"
:
"
^4.0.2
"
,
"
eslint-plugin-promise
"
:
"
^3.6.0
"
,
"
eslint-plugin-standard
"
:
"
^3.0.1
"
,
"
jsdoc
"
:
"
^3.5.5
"
,
"
puppeteer
"
:
"
^1.1.0
"
,
"
devbridge-autocomplete
"
:
"
^1.4.7
"
,
"
jasmine-core
"
:
"
^2.99.1
"
,
"
karma
"
:
"
^2.0.0
"
,
"
karma-chrome-launcher
"
:
"
^2.2.0
"
,
"
karma-jasmine
"
:
"
^1.1.1
"
,
"
karma-sourcemap-loader
"
:
"
^0.3.7
"
,
"
karma-webpack
"
:
"
^2.0.9
"
,
"
webpack
"
:
"
^3.11.0
"
,
"
webpack-dev-server
"
:
"
^2.11.1
"
,
"
uglifyjs-webpack-plugin
"
:
"
^1.1.8
"
,
"
yargs
"
:
"
^11.0.0
"
,
"
node-sass
"
:
"
^4.7.2
"
,
"
axios
"
:
"
0.16.1
"
,
"
d3
"
:
"
4.13.0
"
,
"
d3-scale
"
:
"
2.0.0
"
,
"
d3-brush
"
:
"
1.0.4
"
,
"
d3-selection
"
:
"
1.3.0
"
,
"
d3-array
"
:
"
1.2.1
"
,
"
d3-axis
"
:
"
1.0.8
"
,
"
d3-scale-chromatic
"
:
"
1.2.0
"
,
"
deep-freeze-strict
"
:
"
1.1.1
"
,
"
tippy.js
"
:
"
2.2.2
"
,
"
uuid
"
:
"
3.2.1
"
,
"
object-path
"
:
"
0.11.4
"
,
"
html2canvas
"
:
"
1.0.0-alpha.9
"
,
"
resize-observer-polyfill
"
:
"
1.5.0
"
,
"
vue
"
:
"
2.5.13
"
,
"
vuex
"
:
"
3.0.1
"
,
"
vue-template-compiler
"
:
"
2.5.13
"
,
"
vue-async-computed
"
:
"
3.3.1
"
,
"
@babel/core
"
:
"
7.0.0-beta.40
"
,
"
@babel/runtime
"
:
"
7.0.0-beta.40
"
,
"
@babel/plugin-proposal-object-rest-spread
"
:
"
7.0.0-beta.40
"
,
"
@babel/plugin-transform-runtime
"
:
"
7.0.0-beta.40
"
,
"
@babel/preset-env
"
:
"
7.0.0-beta.40
"
,
"
babel-loader
"
:
"
8.0.0-beta.0
"
,
"
css-loader
"
:
"
0.28.9
"
,
"
file-loader
"
:
"
1.1.6
"
,
"
sass-loader
"
:
"
6.0.6
"
,
"
style-loader
"
:
"
0.20.2
"
,
"
url-loader
"
:
"
0.6.2
"
,
"
vue-loader
"
:
"
14.1.1
"
,
"
vue-style-loader
"
:
"
4.0.2
"
,
"
eslint
"
:
"
4.17.0
"
,
"
eslint-config-standard
"
:
"
11.0.0-beta.0
"
,
"
eslint-plugin-import
"
:
"
2.8.0
"
,
"
eslint-plugin-node
"
:
"
6.0.0
"
,
"
eslint-plugin-html
"
:
"
4.0.2
"
,
"
eslint-plugin-promise
"
:
"
3.6.0
"
,
"
eslint-plugin-standard
"
:
"
3.0.1
"
,
"
jsdoc
"
:
"
3.5.5
"
,
"
puppeteer
"
:
"
1.1.0
"
,
"
devbridge-autocomplete
"
:
"
1.4.7
"
,
"
jasmine-core
"
:
"
2.99.1
"
,
"
karma
"
:
"
2.0.0
"
,
"
karma-chrome-launcher
"
:
"
2.2.0
"
,
"
karma-jasmine
"
:
"
1.1.1
"
,
"
karma-sourcemap-loader
"
:
"
0.3.7
"
,
"
karma-webpack
"
:
"
2.0.9
"
,
"
webpack
"
:
"
3.11.0
"
,
"
webpack-dev-server
"
:
"
2.11.1
"
,
"
uglifyjs-webpack-plugin
"
:
"
1.1.8
"
,
"
yargs
"
:
"
11.0.0
"
,
"
node-sass
"
:
"
4.7.2
"
,
"uglify-js"
:
"git+https://github.com/mishoo/UglifyJS2.git#harmony"
}
}
src/
vue/mixin
s/high-dpi-canvas.js
→
src/
util
s/high-dpi-canvas.js
View file @
4781e075
File moved
src/
vue/mixin
s/run-analysis.js
→
src/
util
s/run-analysis.js
View file @
4781e075
import
store
from
'
../
../
store/store
'
import
store
from
'
../store/store
'
/**
* A helper method to submit an analysis.
...
...
@@ -27,7 +27,7 @@ async function runAnalysis (taskName, args) {
let
timeWaited
=
0
let
delay
=
200
while
(
timeWaited
<=
900000
)
{
// we wait 15 minutes
while
(
timeWaited
<=
900000
)
{
// we wait 15 minutes
await
timeout
(
delay
)
timeWaited
+=
delay
delay
+=
100
...
...
src/
vue/mixin
s/utils.js
→
src/
util
s/utils.js
View file @
4781e075
File moved
src/vue/charts/Boxplot.vue
View file @
4781e075
...
...
@@ -134,13 +134,13 @@
import
ControlPanel
from
'
../components/ControlPanel.vue
'
import
Chart
from
'
../components/Chart.vue
'
import
store
from
'
../../store/store
'
import
runAnalysis
from
'
../
mixin
s/run-analysis
'
import
runAnalysis
from
'
../
../util
s/run-analysis
'
import
*
as
d3
from
'
d3
'
import
deepFreeze
from
'
deep-freeze-strict
'
import
{
truncateTextUntil
}
from
'
../
mixin
s/utils
'
import
{
truncateTextUntil
}
from
'
../
../util
s/utils
'
import
tooltip
from
'
../directives/tooltip
'
import
StateSaver
from
'
../mixins/state-saver
'
import
getHDPICanvas
from
'
../
mixin
s/high-dpi-canvas
'
import
getHDPICanvas
from
'
../
../util
s/high-dpi-canvas
'
export
default
{
name
:
'
boxplot
'
,
data
()
{
...
...
src/vue/charts/CorrelationAnalysis.vue
View file @
4781e075
...
...
@@ -39,13 +39,13 @@
<div
class=
"fjs-legend"
>
<span>
Corr. Coef.:
{{
tmpResults
.
coef
.
toFixed
(
4
)
}}
</span>
<span>
p-value:
{{
tmpResults
.
p_value
.
toFixed
(
4
)
}}
</span>
<div
v-for=
"point, i in legendSubsetPoints"
>
<div
v-for=
"
(
point, i
)
in legendSubsetPoints"
>
<svg
:width=
"pointSize * 2"
:height=
"pointSize * 2"
>
<polygon
:points=
"point"
></polygon>
</svg>
<span>
S
{{
i
+
1
}}
</span>
</div>
<div
class=
"fjs-legend-category"
v-for=
"color, i in legendCategoryColors"
>
<div
class=
"fjs-legend-category"
v-for=
"
(
color, i
)
in legendCategoryColors"
>
<div
:style=
"
{background: color}">
</div>
<span>
&
nbsp
{{
categories
[
i
]
}}
</span>
</div>
...
...
@@ -101,17 +101,18 @@
<
script
>
import
DataBox
from
'
../components/DataBox.vue
'
import
ControlPanel
from
'
../components/ControlPanel.vue
'
import
{
getPolygonPointsForSubset
}
from
'
../
mixin
s/utils
'
import
{
getPolygonPointsForSubset
}
from
'
../
../util
s/utils
'
import
Chart
from
'
../components/Chart.vue
'
import
store
from
'
../../store/store
'
import
runAnalysis
from
'
../
mixin
s/run-analysis
'
import
runAnalysis
from
'
../
../util
s/run-analysis
'
import
*
as
d3
from
'
d3
'
import
tooltip
from
'
../directives/tooltip.js
'
import
deepFreeze
from
'
deep-freeze-strict
'
import
Crosshair
from
'
../components/Crosshair.vue
'
import
Html2svg
from
'
../components/HTML2SVG.vue
'
import
Draggable
from
'
../components/Draggable.vue
'
import
getHDPICanvas
from
'
../mixins/high-dpi-canvas
'
import
getHDPICanvas
from
'
../../utils/high-dpi-canvas
'
import
StateSaver
from
'
../mixins/state-saver
'
export
default
{
name
:
'
correlation-analysis
'
,
data
()
{
...
...
@@ -410,6 +411,9 @@
directives
:
{
tooltip
},
mixins
:
[
StateSaver
],
methods
:
{
runAnalysisWrapper
(
init
,
args
)
{
// function made available via requestHandling mixin
...
...
@@ -452,6 +456,11 @@
update_categoryData
(
ids
)
{
this
.
categoryData
=
ids
}
},
mounted
()
{
this
.
registerDataToSave
([
'
xyData
'
,
'
categoryData
'
,
'
params
'
])
}
}
</
script
>
...
...
src/vue/charts/Heatmap.vue
View file @
4781e075
...
...
@@ -176,11 +176,12 @@
import
ControlPanel
from
'
../components/ControlPanel.vue
'
import
Chart
from
'
../components/Chart.vue
'
import
store
from
'
../../store/store
'
import
runAnalysis
from
'
../
mixin
s/run-analysis
'
import
runAnalysis
from
'
../
../util
s/run-analysis
'
import
*
as
d3
from
'
d3
'
import
tooltip
from
'
../directives/tooltip.js
'
import
deepFreeze
from
'
deep-freeze-strict
'
import
getHDPICanvas
from
'
../mixins/high-dpi-canvas
'
import
getHDPICanvas
from
'
../../utils/high-dpi-canvas
'
import
StateSaver
from
'
../mixins/state-saver
'
export
default
{
name
:
'
heatmap
'
,
data
()
{
...
...
@@ -201,8 +202,8 @@
n_row_centroids
:
5
,
n_col_centroids
:
5
},
colColors
:
d3
.
schemeCategory
2
0
,
rowColors
:
d3
.
schemeCategory
2
0
.
slice
().
reverse
(),
colColors
:
d3
.
schemeCategory
1
0
,
rowColors
:
d3
.
schemeCategory
1
0
.
slice
().
reverse
(),
results
:
{
rows
:
[],
cols
:
[]
...
...
@@ -490,6 +491,14 @@
},
directives
:
{
tooltip
},
mixins
:
[
StateSaver
],
mounted
()
{
this
.
registerDataToSave
([
'
numericArrayDataIds
'
,
'
rankingMethod
'
,
'
cluster
'
])
}
}
</
script
>
...
...
src/vue/charts/PCA.vue
View file @
4781e075
...
...
@@ -113,16 +113,17 @@
import
DataBox
from
'
../components/DataBox.vue
'
import
ControlPanel
from
'
../components/ControlPanel.vue
'
import
Chart
from
'
../components/Chart.vue
'
import
{
getPolygonPointsForSubset
}
from
'
../
mixin
s/utils
'
import
{
getPolygonPointsForSubset
}
from
'
../
../util
s/utils
'
import
store
from
'
../../store/store
'
import
runAnalysis
from
'
../
mixin
s/run-analysis
'
import
runAnalysis
from
'
../
../util
s/run-analysis
'
import
*
as
d3
from
'
d3
'
import
tooltip
from
'
../directives/tooltip.js
'
import
deepFreeze
from
'
deep-freeze-strict
'
import
Crosshair
from
'
../components/Crosshair.vue
'
import
Html2svg
from
'
../components/HTML2SVG.vue
'
import
Draggable
from
'
../components/Draggable.vue
'
import
getHDPICanvas
from
'
../mixins/high-dpi-canvas
'
import
getHDPICanvas
from
'
../../utils/high-dpi-canvas
'
import
StateSaver
from
'
../mixins/state-saver
'
export
default
{
name
:
'
pca-analysis
'
,
data
()
{
...
...
@@ -416,6 +417,14 @@
},
directives
:
{
tooltip
},
mixins
:
[
StateSaver
],
mounted
()
{
this
.
registerDataToSave
([
'
featureData
'
,
'
categoryData
'
,
'
pcX
'
,
'
pcY
'
,
'
params
'
])
}
}
</
script
>
...
...
src/vue/components/ControlPanel.vue
View file @
4781e075
<
template
>
<div
class=
"fjs-control-panel"
:style=
"
{
width: width,
left: left, right: right}"
:style=
"
{left: left, right: right}"
v-show="focused"
@mouseover="show()"
@mouseout="hide()">
...
...
@@ -48,9 +48,6 @@
},
right
()
{
return
store
.
getters
.
options
.
controlPanelPosition
===
'
right
'
?
0
:
''
},
width
()
{
return
this
.
expanded
?
'
15vw
'
:
'
1vw
'
}
},
methods
:
{
...
...
src/vue/components/DataBox.vue
View file @
4781e075
<
template
>
<div
class=
"fjs-data-box"
>
<label
:for=
"`fjs-data-window-$
{_uid}`" :tooltip="tooltip">
{{
header
}}
</label>
<div
:id=
"`fjs-data-window-$
{_uid}`" class="fjs-data-window">
<div
class=
"fjs-data-entry-container"
:data-state=
"item.etl_state"
v-for=
"item in items"
>
<span
class=
"fjs-header-label"
>
{{
header
}}
</span>
<div
class=
"fjs-data-window"
>
<div
class=
"fjs-item"
v-for=
"item in items"
>
<div
class=
"fjs-data-entry-header"
>
<input
type=
"checkbox"
:data-id=
"item.task_id"
:checked=
"!!~selectedIDs.indexOf(item.task_id)"
/>
<span
:data-id=
"item.task_id"
:data-state=
"item.etl_state"
class=
"fjs-data-label"
@
click=
"toggleTaskId(item.task_id)"
>
{{
item
.
label
}}
<div
class=
"fjs-item-head"
>
<input
type=
"checkbox"
:value=
"item.task_id"
v-model=
"checkedIds"
/>
<span
class=
"fjs-item-label"
:data-state=
"item.state"
@
click=
"toggleTaskId(item.task_id)"
>
{{
item
.
label
}}
</span>
<span
class=
"fjs-options"
@
click=
"toggle
DataEntry
Body(item.task_id)"
>
☰
</span>
<span
class=
"fjs-
item-
options"
@
click=
"toggle
Item
Body(item.task_id)"
>
☰
</span>
</div>
<div
class=
"fjs-data-entry-body"
ref=
"$
{item.task_id}-data-entry-body"
:data-state="item.etl_state"
:data-id="item.task_id">
<div
class=
"fjs-item-body"
v-show=
"expanded[item.task_id]"
>
<div
class=
"fjs-action-btns"
>
<span
class=
"fjs-reload-btn"
@
click=
"reloadData(item.task_id)"
>
↻
</span>
<span
class=
"fjs-delete-btn"
@
click=
"deleteData(item.task_id)"
>
×
</span>
...
...
@@ -40,7 +33,6 @@
<
script
>
import
store
from
'
../../store/store
'
import
$
from
'
jquery
'
import