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

Plusieurs patches

parent 013f6715
No related branches found
No related tags found
No related merge requests found
...@@ -158,7 +158,7 @@ export default defineComponent({ ...@@ -158,7 +158,7 @@ export default defineComponent({
const form = new FormData(e.target as HTMLFormElement) const form = new FormData(e.target as HTMLFormElement)
form.append("ids", this.files.map(e => e.id).join(',')) form.append("ids", this.files.map(e => e.id).join(','))
form.append("maxiterations", '10') //form.append("maxiterations", '10')
form.append("project", this.selectedProject) form.append("project", this.selectedProject)
await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/image/cluster', { method: 'POST', body: form }).then(async (response) => { await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/image/cluster', { method: 'POST', body: form }).then(async (response) => {
...@@ -177,7 +177,7 @@ export default defineComponent({ ...@@ -177,7 +177,7 @@ export default defineComponent({
const form = new FormData(e.target as HTMLFormElement) const form = new FormData(e.target as HTMLFormElement)
form.append("ids", this.files.map(e => e.id).join(',')) form.append("ids", this.files.map(e => e.id).join(','))
form.append("maxiterations", '10') //form.append("maxiterations", '10')
form.append("project", this.selectedProject) form.append("project", this.selectedProject)
await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/image/dtwcluster', { method: 'POST', body: form }).then((response) => { await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/image/dtwcluster', { method: 'POST', body: form }).then((response) => {
... ...
......
.smaller-font {
font-size: 0.8rem;
}
...@@ -35,8 +35,6 @@ export default defineComponent({ ...@@ -35,8 +35,6 @@ export default defineComponent({
imagePattern: "", imagePattern: "",
currentPattern: null as string | null, currentPattern: null as string | null,
selectedAlgorithm: 'PrefixSpan', selectedAlgorithm: 'PrefixSpan',
selectedCanal: 0 as number //number as string
} }
}, },
computed: { computed: {
...@@ -92,7 +90,7 @@ export default defineComponent({ ...@@ -92,7 +90,7 @@ export default defineComponent({
} }
//load //load
const data: { [key: string]: string }[] | { timestamp: number, status: number, error: string, path: string } = await (await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/metadata/attributes?id=${localStorage.getItem('datasetId')}`)).json() const data: { [key: string]: string }[] | { timestamp: number, status: number, error: string, path: string } = await (await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/metadata/attributes?id=${encodeURIComponent(localStorage.getItem('datasetId') || "")}`)).json()
if(!data || 'status' in data) { if(!data || 'status' in data) {
localStorage.removeItem('datasetId') localStorage.removeItem('datasetId')
this.$router.push('/') this.$router.push('/')
...@@ -100,9 +98,9 @@ export default defineComponent({ ...@@ -100,9 +98,9 @@ export default defineComponent({
} }
this.columns = data.flatMap(val => Object.keys(val)) this.columns = data.flatMap(val => Object.keys(val))
const fileItem = await (await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/metadata/fileitem?id=${localStorage.getItem('datasetId')}`)).json() const fileItem = await (await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/metadata/fileitem?id=${encodeURIComponent(localStorage.getItem('datasetId') || "")}`)).json()
this.fileItem = fileItem this.fileItem = fileItem
this.dictionary = await(await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/mining/dictionary?id=${localStorage.getItem('datasetId')}`)).json() this.dictionary = await(await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/mining/dictionary?id=${encodeURIComponent(localStorage.getItem('datasetId') || "")}`)).json()
}, },
methods: { methods: {
async runSetMining(e: Event) { async runSetMining(e: Event) {
...@@ -112,6 +110,7 @@ export default defineComponent({ ...@@ -112,6 +110,7 @@ export default defineComponent({
const form = new FormData(e.target) const form = new FormData(e.target)
form.append('columns', this.selectedPatternColumns.join(',')) form.append('columns', this.selectedPatternColumns.join(','))
form.append('id', '' + localStorage.getItem('datasetId')) form.append('id', '' + localStorage.getItem('datasetId'))
this.$toast.info("Clustering started")
const response = await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/rest/mining/mine', { method: 'POST', body: form }) const response = await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/rest/mining/mine', { method: 'POST', body: form })
if(response.status === 200) { if(response.status === 200) {
this.$toast.info(await response.text()) this.$toast.info(await response.text())
...@@ -133,6 +132,7 @@ export default defineComponent({ ...@@ -133,6 +132,7 @@ export default defineComponent({
const form = new FormData(e.target) const form = new FormData(e.target)
form.append('columns', this.selectedSequenceColumns.join(',')) form.append('columns', this.selectedSequenceColumns.join(','))
form.append('id', '' + localStorage.getItem('datasetId')) form.append('id', '' + localStorage.getItem('datasetId'))
this.$toast.info("Clustering started")
const response = await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/rest/mining/mine', { method: 'POST', body: form }) const response = await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/rest/mining/mine', { method: 'POST', body: form })
if(response.status === 200) { if(response.status === 200) {
this.$toast.info(await response.text()) this.$toast.info(await response.text())
...@@ -151,7 +151,7 @@ export default defineComponent({ ...@@ -151,7 +151,7 @@ export default defineComponent({
this.arePatternsLoading = true this.arePatternsLoading = true
this.patternData = null this.patternData = null
this.currentPattern = null this.currentPattern = null
this.patternData = await (await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/load-patterns-metadata?filename=${encodeURIComponent(filename)}&id=${localStorage.getItem('datasetId')}`)).json() this.patternData = await (await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/load-patterns-metadata?filename=${encodeURIComponent(filename)}&id=${encodeURIComponent(localStorage.getItem('datasetId') || "")}`)).json()
this.currentPattern = filename this.currentPattern = filename
this.arePatternsLoading = false this.arePatternsLoading = false
...@@ -160,7 +160,7 @@ export default defineComponent({ ...@@ -160,7 +160,7 @@ export default defineComponent({
async fetchPatternImage() { async fetchPatternImage() {
this.imagePattern = "" this.imagePattern = ""
const image = await (await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/mining/patternRender?filename=${encodeURIComponent(this.currentPattern || "")}&id=${localStorage.getItem('datasetId')}&imageid=${this.imagePatternSelect}&patternids=${this.selectedImagePatterns.join(',')}`)).blob() const image = await (await secureFetch(this, `${import.meta.env.VITE_BACKEND_URL}/rest/mining/patternRender?filename=${encodeURIComponent(this.currentPattern || "")}&id=${encodeURIComponent(localStorage.getItem('datasetId') || "")}&imageid=${this.imagePatternSelect}&patternids=${this.selectedImagePatterns.join(',')}`)).blob()
this.imagePattern = URL.createObjectURL(image) this.imagePattern = URL.createObjectURL(image)
}, },
...@@ -206,8 +206,8 @@ export default defineComponent({ ...@@ -206,8 +206,8 @@ export default defineComponent({
form.append('filename', currentPattern) form.append('filename', currentPattern)
form.append('id', '' + localStorage.getItem('datasetId')) form.append('id', '' + localStorage.getItem('datasetId'))
await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/rest/mining/filter-support', { method: 'POST', body: form }) const response = await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/rest/mining/filter-support', { method: 'POST', body: form })
this.$router.go(0) if(response.status === 200)this.$router.go(0)
} else { } else {
this.$toast.warning('Please select a pattern') this.$toast.warning('Please select a pattern')
} }
...@@ -390,8 +390,17 @@ export default defineComponent({ ...@@ -390,8 +390,17 @@ export default defineComponent({
const form = new FormData(e.target) const form = new FormData(e.target)
form.append('id', '' + localStorage.getItem('datasetId')) form.append('id', '' + localStorage.getItem('datasetId'))
form.append('filename', currentPattern) form.append('filename', currentPattern)
form.append('canalid', this.selectedCanal)
await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/image/mtlClustering', { method: 'POST', body: form }) this.$toast.info("Clustering started")
const response = await secureFetch(this, import.meta.env.VITE_BACKEND_URL + '/image/mtlClustering', { method: 'POST', body: form })
if(response.status == 200) {
this.$toast.success("Done")
const result = await response.json() as { minFreqVal: number, clustering: number[] }
this.selectedImagePatterns = result.clustering
} else {
this.$toast.warning("No solution found")
}
} }
}, },
}) })
...@@ -257,7 +257,8 @@ ...@@ -257,7 +257,8 @@
</div> </div>
</div> </div>
<div class="accordion-item" v-if="currentPattern"> <!-- currently there is only images extras but if that were to change remove isImage -->
<div class="accordion-item" v-if="currentPattern && isImage">
<h2 class="accordion-header" id="headingExtra"> <h2 class="accordion-header" id="headingExtra">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExtra" aria-expanded="true" aria-controls="collapseExtra"> <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExtra" aria-expanded="true" aria-controls="collapseExtra">
Extra Extra
...@@ -265,14 +266,13 @@ ...@@ -265,14 +266,13 @@
</h2> </h2>
<div id="collapseExtra" class="accordion-collapse collapse show" aria-labelledby="headingExtra"> <div id="collapseExtra" class="accordion-collapse collapse show" aria-labelledby="headingExtra">
<div class="accordion-body"> <div class="accordion-body">
<form @submit="mtlClustering"> <form @submit="mtlClustering" v-if="isImage">
<Multiselect
:close-on-select="false"
v-model="selectedCanal"
:options="Object.fromEntries(columns.map((e, i) => [i, e]))"
/>
{{ selectedCanal }}
<label class="form-label">MLT clustering</label> <label class="form-label">MLT clustering</label>
<br>
<label>Max uncovered %</label>
<input type="text" class="form-control" name="maxuncovered" placeholder="0">
<label>Max stack</label>
<input type="text" class="form-control" name="maxstack" placeholder="1">
<input type="submit" value="Run" class="btn btn-primary"> <input type="submit" value="Run" class="btn btn-primary">
</form> </form>
</div> </div>
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment