From 8e3cd089afe49ac6658ffe352973d3272ee6fc43 Mon Sep 17 00:00:00 2001 From: "thomas.blanc.2@etu.univ-amu.fr" <gltron3000@gmail.com> Date: Fri, 22 May 2020 16:54:41 +0200 Subject: [PATCH] Added performance support --- src/components/ModelCard.vue | 10 ++++++++-- src/main.js | 2 +- src/views/Admin.vue | 4 ++++ src/views/Model.vue | 23 ++++++++++++----------- src/views/ModelAdd.vue | 18 +++++++++++++++++- src/views/ModelEdit.vue | 11 +++++++++++ src/views/Search.vue | 2 ++ 7 files changed, 55 insertions(+), 15 deletions(-) diff --git a/src/components/ModelCard.vue b/src/components/ModelCard.vue index 7c8a1f7..6cd31f9 100644 --- a/src/components/ModelCard.vue +++ b/src/components/ModelCard.vue @@ -16,8 +16,10 @@ </b-taglist> </div> </div> - <div class="media-right"> - <h2 class="title is-4">{{model.votes}} votes</h2> + <div class="media-right details"> + <h2 class="title">{{model.votes}} votes</h2> + <h2>{{model.parameterCount}} parameters</h2> + <h2>{{model.performance}} {{model.performanceUnit}}</h2> </div> </article> </a> @@ -39,4 +41,8 @@ export default { .box { margin-bottom: 10px; } + +.details { + text-align: right; +} </style> diff --git a/src/main.js b/src/main.js index aeaa0a3..33ad0b8 100644 --- a/src/main.js +++ b/src/main.js @@ -9,7 +9,7 @@ Vue.use(Buefy) Vue.config.productionTip = false // Vue.prototype.$serverurl = process.env.VUE_APP_SERVER_URL -Vue.prototype.$serverurl = 'https://mozen.gltronic.ovh/' +Vue.prototype.$serverurl = 'http://localhost:8181/' new Vue({ router, diff --git a/src/views/Admin.vue b/src/views/Admin.vue index 2d47afb..52099b9 100644 --- a/src/views/Admin.vue +++ b/src/views/Admin.vue @@ -23,6 +23,7 @@ </b-table-column> <b-table-column label="" centered> + <b-button class="actionButton" icon-left="eye" type="is-info" tag="router-link" :to="{ name: 'Model', query: { id: props.row.id } }" outlined/> <b-button class="actionButton" icon-left="delete" type="is-danger" @click="removePrompt(props.row.id, props.row.name, 'model')" outlined/> </b-table-column> </template> @@ -77,6 +78,9 @@ </template> </b-table> </b-tab-item> + + <b-tab-item label="Comments"> + </b-tab-item> </b-tabs> </div> </div> diff --git a/src/views/Model.vue b/src/views/Model.vue index fec946b..06aea1f 100644 --- a/src/views/Model.vue +++ b/src/views/Model.vue @@ -26,17 +26,15 @@ <br> <small>Last modification: </small><strong>{{new Date(model.lastModified).toLocaleDateString()}}</strong> <br> + <small>parameters: </small><strong>{{model.parameterCount}}</strong> <br> - <b-button type="is-primary" size="is-medium" icon-left="download"> + <small>{{model.performanceUnit}}: </small><strong>{{model.performance}}</strong> + <br> + <br> + <b-button v-if="model.checksum" type="is-primary" size="is-medium" icon-left="download"> Download model </b-button> - <a - class="button is-primary is-medium" - icon-left="download" - :href="downloadUrl" - download> - Download model - </a> + <h2 v-else class="title is-5">No file provided</h2> <hr> <strong>{{model.customLayers.length}} customs layers</strong> <br> @@ -55,11 +53,14 @@ <b-tab-item label="Layers"> </b-tab-item> + + <b-tab-item label="Comments"> + <div class="box"> + <Comments v-bind:comments="model.comments"/> + </div> + </b-tab-item> </b-tabs> </div> - <div class="box"> - <Comments v-bind:comments="model.comments"/> - </div> </div> <b-loading :is-full-page="false" :active.sync="isLoading"/> </div> diff --git a/src/views/ModelAdd.vue b/src/views/ModelAdd.vue index 851b125..9acae99 100644 --- a/src/views/ModelAdd.vue +++ b/src/views/ModelAdd.vue @@ -13,6 +13,17 @@ <b-field label="Long description"> <markdownEditor v-bind:input="model.longDescription" v-on:update-description="model.longDescription = $event"/> </b-field> + + <b-field label="Performance"> + <b-field> + <b-input type="number" placeholder="98" step="0.01" v-model="model.performance"/> + <b-autocomplete open-on-focus placeholder="accuracy" :data="performanceTypes" v-model="model.performanceUnit"/> + </b-field> + </b-field> + + <b-field label="Number of parameters"> + <b-input type="number" min="0" placeholder="0" v-model="model.parameterCount"/> + </b-field> </b-step-item> <b-step-item step="2" label="Tags" clickable> @@ -69,7 +80,12 @@ export default { return { model: {}, activeStep: 0, - isUploadModalActive: false + isUploadModalActive: false, + performanceTypes: [ + 'accuracy', + 'error rate', + 'MSE' + ] } }, methods: { diff --git a/src/views/ModelEdit.vue b/src/views/ModelEdit.vue index f15565d..b047404 100644 --- a/src/views/ModelEdit.vue +++ b/src/views/ModelEdit.vue @@ -16,6 +16,17 @@ <markdownEditor v-bind:input="model.longDescription" v-on:update-description="model.longDescription = $event"/> </b-field> + <b-field label="Performance"> + <b-field> + <b-input type="number" placeholder="98" step="0.01" v-model="model.performance"/> + <b-autocomplete open-on-focus placeholder="accuracy" :data="performanceTypes" v-model="model.performanceUnit"/> + </b-field> + </b-field> + + <b-field label="Number of parameters"> + <b-input type="number" min="0" placeholder="0" v-model="model.parameterCount"/> + </b-field> + <hr> <h1 class="title">Tags</h1> <tagEditor v-bind:modelTags="model.tags" v-on:update-tags="model.tags = $event"/> diff --git a/src/views/Search.vue b/src/views/Search.vue index f1a46d0..192d24e 100644 --- a/src/views/Search.vue +++ b/src/views/Search.vue @@ -18,6 +18,8 @@ <b-select placeholder="Order by" icon="filter" @input="setOrder"> <option value="votes">Most vote</option> <option value="lastModified">Most recent</option> + <option value="performance">Best performance</option> + <option value="parameterCount">Less parameters</option> </b-select> </b-field> <h1 class="title is-6">{{result.totalResult}} results - page {{result.page}} of {{result.totalPage}}</h1> -- GitLab