Skip to content
Snippets Groups Projects
Verified Commit 017e435f authored by BARBIER Marc's avatar BARBIER Marc
Browse files

add automatic project reload to the mining page

parent 2d33c2e9
Branches
Tags
No related merge requests found
......@@ -2,6 +2,7 @@ import { defineComponent } from 'vue'
import HeaderComponent from '../components/HeaderComponent/HeaderComponent.vue'
import TableComponent from '@/components/TableComponent/TableComponent.vue'
import Multiselect from '@vueform/multiselect'
import switchToNewestProject from '@/switchToNewestProject'
export default defineComponent({
name: 'TransformView',
......@@ -20,7 +21,7 @@ export default defineComponent({
return (this.fileItem !== null) && (this.columns !== null)
},
tabledata(): Array<string | number>[] {
tableData(): Array<string | number>[] {
if(!this.patternData) return []
const tableData = this.patternData.rows.map(col => [ col[0], col[1], col[2], !isNaN(parseFloat(col[2])) ? 1 - parseFloat(col[2]) : col[2] ])
tableData[0] = [ 'Pattern', 'Support', 'Conf. norm', 'Conf. abnorm' ]
......@@ -33,7 +34,13 @@ export default defineComponent({
}
//load
const data: { [key: string]: string }[] = await (await fetch(`http://localhost:8080/rest/metadata/attributes?id=${localStorage.getItem('datasetId')}`)).json()
const data: { [key: string]: string }[] | { timestamp: number, status: number, error: string, path: string } = await (await fetch(`http://localhost:8080/rest/metadata/attributes?id=${localStorage.getItem('datasetId')}`)).json()
if(!data || 'status' in data) {
localStorage.removeItem('datasetId')
this.$router.push('/')
return
}
this.columns = data.flatMap(val => Object.keys(val))
this.fileItem = await (await fetch(`http://localhost:8080/rest/metadata/fileitem?id=${localStorage.getItem('datasetId')}`)).json()
},
......@@ -43,24 +50,30 @@ export default defineComponent({
Multiselect
},
methods: {
runSetMining(e: Event) {
async runSetMining(e: Event) {
e.preventDefault()
if(!this.selectedPatternColumns || !localStorage.getItem('datasetId'))return
// @ts-expect-error we know it's a form
const form = new FormData(e.target)
form.append('columns', this.selectedPatternColumns.join(','))
form.append('id', '' + localStorage.getItem('datasetId'))
fetch('http://localhost:8080/rest/mining/mine', { method: 'POST', body: form })
const response = await fetch('http://localhost:8080/rest/mining/mine', { method: 'POST', body: form })
if(response.status === 200) {
switchToNewestProject(this)
}
},
runSequenceMining(e: Event) {
async runSequenceMining(e: Event) {
e.preventDefault()
if(!this.selectedSequenceColumns || !localStorage.getItem('datasetId'))return
// @ts-expect-error we know it's a form
const form = new FormData(e.target)
form.append('columns', this.selectedSequenceColumns.join(','))
form.append('id', '' + localStorage.getItem('datasetId'))
fetch('http://localhost:8080/rest/mining/mine', { method: 'POST', body: form })
const response = await fetch('http://localhost:8080/rest/mining/mine', { method: 'POST', body: form })
if(response.status === 200) {
switchToNewestProject(this)
}
},
async fetchPatterns(filename: string) {
......
......@@ -37,7 +37,7 @@
</table>
<TableComponent v-if="!arePatternsLoading"
:data="tabledata"
:data="tableData"
:pageLength="10"
></TableComponent>
<div v-else class="container">
......@@ -89,6 +89,7 @@
<select class="form-control" name="algorithm" id="paternMiningAlgorithm">
<option>PrefixSpan</option>
<option>CM-ClaSP</option>
<option>CM-SPAM</option>
<option>VMSP</option>
</select>
<br>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment