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

added support for CM-SPAM and auto switch to newest project

parent 1aec9a87
Branches
No related tags found
No related merge requests found
......@@ -64,14 +64,14 @@ export default defineComponent({
this.loadProjects()
},
async deleteDataset(id: number) {
async deleteDataset(id: string) {
const url = 'http://localhost:8080/rest/item/remove?item='+encodeURIComponent(id);
await fetch(url, { method: 'POST' })
this.loadProjects()
},
setDataset(id: number) {
localStorage.setItem('datasetId', id.toString())
setDataset(id: string) {
localStorage.setItem('datasetId', encodeURIComponent(id))
//TODO: faire sa plus clean
// @ts-expect-error projects ne peut être null
localStorage.setItem('hasWindows', `${this.projects.flatMap(e => e.items).filter(e => e.id === id && e.stackOperations.filter(v => v.includes('make-windows')).length).length > 0}`)
......
......@@ -13,7 +13,8 @@ export default defineComponent({
selectedPatternColumns: null as string[] | null,
selectedSequenceColumns: null as string[] | null,
patternData: null as { rows: string[][], totalSize: number, rowsStartingFrom1: string[][] } | null,
arePatternsLoading: false
arePatternsLoading: false,
selectedAlgorithm: 'PrefixSpan'
}
},
computed: {
......@@ -79,7 +80,7 @@ export default defineComponent({
async fetchPatterns(filename: string) {
this.arePatternsLoading = true
this.patternData = null
this.patternData = await (await fetch(`http://localhost:8080/rest/load-patterns-metadata?filename=${filename}&id=${localStorage.getItem('datasetId')}`)).json()
this.patternData = await (await fetch(`http://localhost:8080/rest/load-patterns-metadata?filename=${encodeURIComponent(filename)}&id=${localStorage.getItem('datasetId')}`)).json()
this.arePatternsLoading = false
}
},
......
......@@ -84,14 +84,26 @@
<Multiselect mode="tags" :close-on-select="false" :options="columns" v-model="selectedSequenceColumns"></Multiselect>
<label class="form-label" for="itemsetSupport">Support</label>
<input class="form-control" type="text" name="support" id="itemsetSupport" placeholder="support %">
<label for="paternMiningAlgorithm">Algorithm</label>
<input type="hidden" name="isItemset" :value="false">
<select class="form-control" name="algorithm" id="paternMiningAlgorithm">
<label for="patternMiningAlgorithm">Algorithm</label>
<select class="form-control" name="algorithm" id="patternMiningAlgorithm" v-model="selectedAlgorithm">
<option>PrefixSpan</option>
<option>CM-ClaSP</option>
<option>CM-SPAM</option>
<option>VMSP</option>
</select>
<div v-if="selectedAlgorithm === 'CM-SPAM'">
<label for="MinPatternLength">Min pattern length</label>
<input type="text" class="form-control" name="MinPatternLength" id="MinPatternLength">
<label for="MaxPatternLength">Max pattern length</label>
<input type="text" class="form-control" name="MaxPatternLength" id="MaxPatternLength">
<label for="RequiredItems">Required items</label>
<input type="text" class="form-control" name="Required Items" id="RequiredItems">
<label for="MaxGap">Max gap</label>
<input type="text" class="form-control" name="Max gap" id="MaxGap">
</div>
<br>
<input class="btn btn-primary" type="submit" value="Run">
</form>
......
......@@ -144,7 +144,6 @@ export default defineComponent({
if(scores) {
for(const patternScore of this.selectedPatterns) {
const visibleScore = scores[patternScore].rowsStartingFrom1.filter(e => windows.includes(parseFloat(e[0])))
console.log(visibleScore)
this.chartData.push({
type: 'SelfScalledLine',
data: visibleScore.map(e => parseFloat(e[1])),
......
......@@ -7,8 +7,12 @@ export default async function switchToNewestProject(self: { $router: { go: (page
for(const project of projects) {
if(project.fileItems.find(e => e.id === datasetId)) {
const newDataset = project.fileItems.shift()
console.log('switching to : ' + newDataset?.id)
localStorage.setItem('datasetId', newDataset?.id || '')
if(newDataset?.id) {
console.log('switching to : ' + newDataset.id)
localStorage.setItem('datasetId', encodeURIComponent(newDataset.id) || '')
} else {
localStorage.removeItem('datasetId')
}
break
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment