diff --git a/frontend/src/views/GeneDetail.vue b/frontend/src/views/GeneDetail.vue index 6bbd57b4a9b791b6f22c4964c3c07d9714684a95..e9cb545c5fc624e71914f6b8c2c08a4b16300b72 100644 --- a/frontend/src/views/GeneDetail.vue +++ b/frontend/src/views/GeneDetail.vue @@ -1,6 +1,60 @@ <template> <div class="gene"> - {{ gene_id }} {{ gene_detail }} {{ kegg_detail }} + <v-flex> + <v-toolbar class="secondary white--text"> + <v-toolbar-title>Gene details: {{ gene_id }}</v-toolbar-title> + <v-spacer></v-spacer> + <v-btn icon> + <v-icon>search</v-icon> + </v-btn> + </v-toolbar> + + <v-card> + <v-container + fluid + grid-list-md + > + <v-layout row wrap> + <v-flex xs12 md6 lg4> + <v-card> + <v-toolbar-title class="secondary white--text">Gene information</v-toolbar-title> + <v-list> + <template v-for="(item, index) in gene_detail"> + <v-divider + v-if="item.divider" + :key="index" + :inset="item.inset" + ></v-divider> + <v-list-tile-content :key="item.content"> + <v-list-tile-title v-html="item.title"></v-list-tile-title> + <v-list-tile-sub-title v-html="item.content"></v-list-tile-sub-title> + </v-list-tile-content> + </template> + </v-list> + </v-card> + </v-flex> + <v-flex xs12 md6 lg4> + <v-card> + <v-toolbar-title class="secondary white--text">KEGG Function</v-toolbar-title> + <v-list> + <template v-for="(item, index) in kegg_detail"> + <v-divider + v-if="item.divider" + :key="index" + :inset="item.inset" + ></v-divider> + <v-list-tile-content :key="item.content"> + <v-list-tile-title v-html="item.title"></v-list-tile-title> + <v-list-tile-sub-title v-html="item.content"></v-list-tile-sub-title> + </v-list-tile-content> + </template> + </v-list> + </v-card> + </v-flex> + </v-layout> + </v-container> + </v-card> + </v-flex> </div> </template> @@ -12,9 +66,9 @@ export default { data() { return { gene_id: "", - gene_detail: {}, + gene_detail: [], kegg_id: "", - kegg_detail: {}, + kegg_detail: [], }; }, mounted() { @@ -29,7 +83,22 @@ export default { }, }) .then((response) => { - this.gene_detail = response.data; + this.gene_detail = [ + { + title: 'ID', + content: response.data.gene_id, + }, + { + title: 'Name', + content: response.data.gene_name, + divider: true, + }, + { + title: 'Length', + content: response.data.length, + divider: true, + }, + ]; var kegg_id = response.data.functions[0]; return axios.get('http://togows.org/entry/kegg-orthology/' + kegg_id + '.json', { headers: { @@ -38,7 +107,22 @@ export default { }) }) .then((response) => { - this.kegg_detail = response.data[0] + this.kegg_detail = [ + { + title: 'ID', + content: response.data[0].entry_id, + }, + { + title: 'Name', + content: response.data[0].name, + divider: true, + }, + { + title: 'Definition', + content: response.data[0].definition, + divider: true, + }, + ]; }) .catch((error) => { console.log(error); diff --git a/frontend/src/views/Genes.vue b/frontend/src/views/Genes.vue index 47a21a99ab158d9e45c99af7d8bf77cbecfb9f76..2d22aa04e2939ec3b2770e967cdc4afda2ecc007 100644 --- a/frontend/src/views/Genes.vue +++ b/frontend/src/views/Genes.vue @@ -1,6 +1,5 @@ <template> <div class="genes"> - <v-container fluid> <v-layout row wrap> <v-flex xs12>