From 4e6e1949be560682f04a968fec68c025a242a84b Mon Sep 17 00:00:00 2001 From: Nicky Chan Date: Thu, 29 Mar 2018 15:34:04 -0700 Subject: [PATCH] Add Audio UI in app and audio endpoint, test by adding mock audio tags (#352) --- frontend/mock/data/plugin/audio/audio.js | 39 ++++ .../mock/data/plugin/audio/individualaudio.js | 22 +++ frontend/mock/data/plugin/audio/tags.js | 36 ++++ frontend/src/audio/Audio.vue | 167 ++++++++++++++++++ frontend/src/audio/index.js | 9 + frontend/src/audio/ui/AudioPanel.vue | 148 ++++++++++++++++ frontend/src/audio/ui/AudioPanelContainer.vue | 86 +++++++++ frontend/src/audio/ui/Config.vue | 58 ++++++ frontend/src/common/component/AppMenu.vue | 5 + frontend/src/images/ui/Image.vue | 4 - frontend/src/router/index.js | 6 + frontend/src/service.js | 4 + 12 files changed, 580 insertions(+), 4 deletions(-) create mode 100644 frontend/mock/data/plugin/audio/audio.js create mode 100644 frontend/mock/data/plugin/audio/individualaudio.js create mode 100644 frontend/mock/data/plugin/audio/tags.js create mode 100644 frontend/src/audio/Audio.vue create mode 100644 frontend/src/audio/index.js create mode 100644 frontend/src/audio/ui/AudioPanel.vue create mode 100644 frontend/src/audio/ui/AudioPanelContainer.vue create mode 100644 frontend/src/audio/ui/Config.vue diff --git a/frontend/mock/data/plugin/audio/audio.js b/frontend/mock/data/plugin/audio/audio.js new file mode 100644 index 000000000..7cad4abbd --- /dev/null +++ b/frontend/mock/data/plugin/audio/audio.js @@ -0,0 +1,39 @@ +/** + * get mock data + * + * @param {string} path request path + * @param {Object} queryParam query params + * @param {Object} postParam post params + * @return {Object} + */ +module.exports = function (path, queryParam, postParam) { + return { + // moock delay + _timeout: 0, + // mock http status + _status: 200, + // mock response data + _data: { + status: 0, + msg: 'SUCCESS', + data: [ + { + "wall_time": 1512549785.061623, + "step": 60, + "query": "sample=0&index=0&tag=input_reshape%2Finput%2Faudio%2F0&run=test", + "width": 28, + "height": 28 + }, + {"wall_time": 1512886109.672786, "step": 60, "query": "sample=0&index=1&tag=input_reshape%2Finput%2Faudio%2F0&run=test"}, + {"wall_time": 1512886124.266915, "step": 210, "query": "sample=0&index=2&tag=input_reshape%2Finput%2Faudio%2F0&run=test"}, + {"wall_time": 1512886138.898628, "step": 330, "query": "sample=0&index=3&tag=input_reshape%2Finput%2Faudio%2F0&run=test"}, + {"wall_time": 1512886139.883663, "step": 340, "query": "sample=0&index=4&tag=input_reshape%2Finput%2Faudio%2F0&run=test"}, + {"wall_time": 1512886147.195567, "step": 410, "query": "sample=0&index=5&tag=input_reshape%2Finput%2Faudio%2F0&run=test"}, + {"wall_time": 1512886156.47856, "step": 500, "query": "sample=0&index=6&tag=input_reshape%2Finput%2Faudio%2F0&run=test"}, + {"wall_time": 1512886187.82793, "step": 810, "query": "sample=0&index=7&tag=input_reshape%2Finput%2Faudio%2F0&run=test"}, + {"wall_time": 1512886200.386198, "step": 950, "query": "sample=0&index=8&tag=input_reshape%2Finput%2Faudio%2F0&run=test"}, + {"wall_time": 1512886204.224405, "step": 990, "query": "sample=0&index=9&tag=input_reshape%2Finput%2Faudio%2F0&run=test"} + ] + } + }; +}; diff --git a/frontend/mock/data/plugin/audio/individualaudio.js b/frontend/mock/data/plugin/audio/individualaudio.js new file mode 100644 index 000000000..c284c9ddf --- /dev/null +++ b/frontend/mock/data/plugin/audio/individualaudio.js @@ -0,0 +1,22 @@ +/** + * get mock data + * + * @param {string} path request path + * @param {Object} queryParam query params + * @param {Object} postParam post params + * @return {Object} + */ +module.exports = function (path, queryParam, postParam) { + return { + // moock delay + _timeout: 0, + // mock http status + _status: 200, + // mock response data + _data: { + status: 0, + msg: 'SUCCESS', + data: '' + } + }; +}; diff --git a/frontend/mock/data/plugin/audio/tags.js b/frontend/mock/data/plugin/audio/tags.js new file mode 100644 index 000000000..86c42f26a --- /dev/null +++ b/frontend/mock/data/plugin/audio/tags.js @@ -0,0 +1,36 @@ +/** + * get mock data + * + * @param {string} path request path + * @param {Object} queryParam query params + * @param {Object} postParam post params + * @return {Object} + */ + module.exports = function (path, queryParam, postParam) { + return { + // moock delay + _timeout: 0, + // mock http status + _status: 200, + // mock response data + _data: { + status: 0, + msg: 'SUCCESS', + data: { + "test": { + "input_reshape/input/audio/7": { + "displayName": "input_reshape/input/audio/7", + "description": "", "samples": 1 + }, + "input_reshape/input/audio/4": { + "displayName": "input_reshape/input/audio/4", + "description": "", + "samples": 1 + }, + "input_reshape/input/audio/5": { + "displayName": "input_reshape/input/audio/5", + "description": "", "samples": 1 + }, "input_reshape/input/audio/2": {"displayName": "input_reshape/input/audio/2", "description": "", "samples": 1}, "input_reshape/input/audio/3": {"displayName": "input_reshape/input/audio/3", "description": "", "samples": 1}, "input_reshape/input/audio/0": {"displayName": "input_reshape/input/audio/0", "description": "", "samples": 1}, "input_reshape/input/audio/1": {"displayName": "input_reshape/input/audio/1", "description": "", "samples": 1}, "input_reshape/input/audio/8": {"displayName": "input_reshape/input/audio/8", "description": "", "samples": 1}, "input_reshape/input/audio/9": {"displayName": "input_reshape/input/audio/9", "description": "", "samples": 1}}, "train": {"input_reshape/input/audio/6": {"displayName": "input_reshape/input/audio/6", "description": "", "samples": 1}, "input_reshape/input/audio/7": {"displayName": "input_reshape/input/audio/7", "description": "", "samples": 1}, "input_reshape/input/audio/4": {"displayName": "input_reshape/input/audio/4", "description": "", "samples": 1}, "input_reshape/input/audio/5": {"displayName": "input_reshape/input/audio/5", "description": "", "samples": 1}, "input_reshape/input/audio/2": {"displayName": "input_reshape/input/audio/2", "description": "", "samples": 1}, "input_reshape/input/audio/3": {"displayName": "input_reshape/input/audio/3", "description": "", "samples": 1}, "input_reshape/input/audio/0": {"displayName": "input_reshape/input/audio/0", "description": "", "samples": 1}, "input_reshape/input/audio/1": {"displayName": "input_reshape/input/audio/1", "description": "", "samples": 1}, "input_reshape/input/audio/8": {"displayName": "input_reshape/input/audio/8", "description": "", "samples": 1}, "input_reshape/input/audio/9": {"displayName": "input_reshape/input/audio/9", "description": "", "samples": 1}}} + } + }; +}; diff --git a/frontend/src/audio/Audio.vue b/frontend/src/audio/Audio.vue new file mode 100644 index 000000000..50e78104c --- /dev/null +++ b/frontend/src/audio/Audio.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/frontend/src/audio/index.js b/frontend/src/audio/index.js new file mode 100644 index 000000000..5b2ef874a --- /dev/null +++ b/frontend/src/audio/index.js @@ -0,0 +1,9 @@ +import {router} from 'san-router'; + +import Audio from './Audio'; + +router.add({ + target: '#content', + rule: '/audio', + Component: Audio +}); diff --git a/frontend/src/audio/ui/AudioPanel.vue b/frontend/src/audio/ui/AudioPanel.vue new file mode 100644 index 000000000..bacc1f92c --- /dev/null +++ b/frontend/src/audio/ui/AudioPanel.vue @@ -0,0 +1,148 @@ + + + + diff --git a/frontend/src/audio/ui/AudioPanelContainer.vue b/frontend/src/audio/ui/AudioPanelContainer.vue new file mode 100644 index 000000000..f6b93d5e3 --- /dev/null +++ b/frontend/src/audio/ui/AudioPanelContainer.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/frontend/src/audio/ui/Config.vue b/frontend/src/audio/ui/Config.vue new file mode 100644 index 000000000..11788289d --- /dev/null +++ b/frontend/src/audio/ui/Config.vue @@ -0,0 +1,58 @@ + + + diff --git a/frontend/src/common/component/AppMenu.vue b/frontend/src/common/component/AppMenu.vue index 8041865ca..ef038c751 100644 --- a/frontend/src/common/component/AppMenu.vue +++ b/frontend/src/common/component/AppMenu.vue @@ -32,6 +32,11 @@ export default { title: 'IMAGES', name: 'images' }, + { + url: '/audio', + title: 'AUDIO', + name: 'audio' + }, { url: '/histograms', title: 'HISTOGRAMS', diff --git a/frontend/src/images/ui/Image.vue b/frontend/src/images/ui/Image.vue index cc8cd41b3..bc8d3f09e 100644 --- a/frontend/src/images/ui/Image.vue +++ b/frontend/src/images/ui/Image.vue @@ -153,10 +153,6 @@ export default { border-radius 6px line-height 20px margin-top 4px - .visual-dl-chart-actions - .sm-form-item - width 300px - display inline-block .visual-del-image-time float right diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js index 353f25cd4..da5bc60cc 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.js @@ -6,6 +6,7 @@ import Histogram from '@/histogram/Histogram' import Images from '@/images/Images' import Graph from '@/graph/Graph' import Texts from '@/texts/Texts' +import Audio from '@/audio/Audio' Vue.use(Router) @@ -35,6 +36,11 @@ export default new Router({ path: '/texts', name: 'Texts', component: Texts + }, + { + path: '/audio', + name: 'Audio', + component: Audio } ] }) diff --git a/frontend/src/service.js b/frontend/src/service.js index 012074d8e..9fc3ebb0d 100644 --- a/frontend/src/service.js +++ b/frontend/src/service.js @@ -19,3 +19,7 @@ export const getPluginGraphsGraph = makeService('/data/plugin/graphs/graph'); export const getPluginTextsTags = makeService('/data/plugin/texts/tags'); export const getPluginTextsTexts = makeService('/data/plugin/texts/texts'); + +export const getPluginAudioTags = makeService('/data/plugin/audio/tags'); + +export const getPluginAudioAudio = makeService('/data/plugin/audio/audio');