Commit 4781e075 authored by Sascha Herzinger's avatar Sascha Herzinger
Browse files

removed jquery and cleaned up some databox code to

parent 0fae3d5a
......@@ -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": "sha1-GZhoSJZIj4OcoDchI9o08dMYgJw="
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.3.0.tgz",
"integrity": "sha512-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",
......
......@@ -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"
}
}
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
......
......@@ -134,13 +134,13 @@
import ControlPanel from '../components/ControlPanel.vue'
import Chart from '../components/Chart.vue'
import store from '../../store/store'
import runAnalysis from '../mixins/run-analysis'
import runAnalysis from '../../utils/run-analysis'
import * as d3 from 'd3'
import deepFreeze from 'deep-freeze-strict'
import { truncateTextUntil } from '../mixins/utils'
import { truncateTextUntil } from '../../utils/utils'
import tooltip from '../directives/tooltip'
import StateSaver from '../mixins/state-saver'
import getHDPICanvas from '../mixins/high-dpi-canvas'
import getHDPICanvas from '../../utils/high-dpi-canvas'
export default {
name: 'boxplot',
data () {
......
......@@ -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 '../mixins/utils'
import { getPolygonPointsForSubset } from '../../utils/utils'
import Chart from '../components/Chart.vue'
import store from '../../store/store'
import runAnalysis from '../mixins/run-analysis'
import runAnalysis from '../../utils/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>
......
......@@ -176,11 +176,12 @@
import ControlPanel from '../components/ControlPanel.vue'
import Chart from '../components/Chart.vue'
import store from '../../store/store'
import runAnalysis from '../mixins/run-analysis'
import runAnalysis from '../../utils/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.schemeCategory20,
rowColors: d3.schemeCategory20.slice().reverse(),
colColors: d3.schemeCategory10,
rowColors: d3.schemeCategory10.slice().reverse(),
results: {
rows: [],
cols: []
......@@ -490,6 +491,14 @@
},
directives: {
tooltip
},
mixins: [
StateSaver
],
mounted () {
this.registerDataToSave([
'numericArrayDataIds', 'rankingMethod', 'cluster'
])
}
}
</script>
......
......@@ -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 '../mixins/utils'
import { getPolygonPointsForSubset } from '../../utils/utils'
import store from '../../store/store'
import runAnalysis from '../mixins/run-analysis'
import runAnalysis from '../../utils/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>
......
<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: {
......
<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="toggleDataEntryBody(item.task_id)">&#9776;</span>
<span class="fjs-item-options" @click="toggleItemBody(item.task_id)">&#9776;</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)">&#8635;</span>
<span class="fjs-delete-btn" @click="deleteData(item.task_id)">&#215;</span>
......@@ -40,7 +33,6 @@
<script>
import store from '../../store/store'
import $ from 'jquery'