diff --git a/frontend/mock/data/plugin/histograms/tags.js b/frontend/mock/data/plugin/histograms/tags.js
index 71c747f7914b21b8e72c6ee3165c84d9c7752a0e..9359f8798a407839c6eaa2679c86a62f722d7595 100644
--- a/frontend/mock/data/plugin/histograms/tags.js
+++ b/frontend/mock/data/plugin/histograms/tags.js
@@ -19,15 +19,27 @@ module.exports = function (path, queryParam, postParam) {
data: {
"test": {
"layer1/Wx_plus_b/pre_activations":
- {
- "displayName": "layer1/Wx_plus_b/pre_activations",
- "description": ""
- },
+ {
+ "displayName": "layer1/Wx_plus_b/pre_activations",
+ "description": ""
+ },
"layer1/Wx_plus_b/pre_activations_1":
- {
- "displayName": "layer1/Wx_plus_b/pre_activations_1",
- "description": ""
- }
+ {
+ "displayName": "layer1/Wx_plus_b/pre_activations_1",
+ "description": ""
+ }
+ },
+ "train": {
+ "layer1/Wx_plus_b/pre_activations":
+ {
+ "displayName": "layer1/Wx_plus_b/pre_activations",
+ "description": ""
+ },
+ "layer1/Wx_plus_b/pre_activations_1":
+ {
+ "displayName": "layer1/Wx_plus_b/pre_activations_1",
+ "description": ""
+ }
}
}
}
diff --git a/frontend/mock/data/plugin/scalars/tags.js b/frontend/mock/data/plugin/scalars/tags.js
index 6cf9b62fb95a74245cbfeecc1104497a03f53c9e..ec8acdebba665e07991b9ca8d76cc2eab9b78292 100644
--- a/frontend/mock/data/plugin/scalars/tags.js
+++ b/frontend/mock/data/plugin/scalars/tags.js
@@ -22,6 +22,20 @@ module.exports = function (path, queryParam, postParam) {
"displayName": "layer2/biases/summaries/mean",
"description": ""
}
+ },
+ "train": {
+ "layer2/biases/summaries/mean": {
+ "displayName": "layer2/biases/summaries/mean",
+ "description": ""
+ },
+ "layer2/biases/summaries/accuracy": {
+ "displayName": "layer2/biases/summaries/accuracy",
+ "description": ""
+ },
+ "layer2/biases/summaries/cost": {
+ "displayName": "layer2/biases/summaries/cost",
+ "description": ""
+ }
}
}
}
diff --git a/frontend/package.json b/frontend/package.json
index 92250d37109475905b7522005d7c0c3f09f1a2d9..41cf3259cb7d3a6c4765686e633037f5675357fb 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -27,6 +27,9 @@
"san-router": "^1.1.1",
"san-store": "^1.0.1",
"san-update": "^2.1.0",
+ "vue": "^2.5.2",
+ "vue-router": "^3.0.1",
+ "vuetify": "^0.17.7",
"xlsx": "^0.11.3"
},
"devDependencies": {
@@ -72,6 +75,10 @@
"webpack-dev-server": "^2.4.2",
"webpack-hot-middleware": "^2.19.1",
"webpack-merge": "^4.1.0",
- "yargs": "^8.0.2"
+ "yargs": "^8.0.2",
+ "vue-jest": "^1.0.2",
+ "vue-loader": "^13.3.0",
+ "vue-style-loader": "^3.0.1",
+ "vue-template-compiler": "^2.5.2"
}
}
diff --git a/frontend/src/App.vue b/frontend/src/App.vue
new file mode 100644
index 0000000000000000000000000000000000000000..1a0d8600c012a67708635340bd3f23bb95b0e289
--- /dev/null
+++ b/frontend/src/App.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
diff --git a/frontend/src/common/component/AppMenu.vue b/frontend/src/common/component/AppMenu.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9cd847be15fe5aaf09779ea914ab5eacec8eb7e9
--- /dev/null
+++ b/frontend/src/common/component/AppMenu.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/common/component/ExpandPanel.vue b/frontend/src/common/component/ExpandPanel.vue
new file mode 100644
index 0000000000000000000000000000000000000000..322ef3eab1b9cebe6f6d64163fad21df67eb0a4e
--- /dev/null
+++ b/frontend/src/common/component/ExpandPanel.vue
@@ -0,0 +1,65 @@
+
+
+
+ {{title}}
+
+ {{iconName}}
+ ({{info}})
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/common/component/Notification/index.js b/frontend/src/common/component/Notification/index.js
index 460b76af95d0f9787069fd562aa115a113f7248c..71f89fa5c58df3ec494f6556eaf639b95d6e82c6 100644
--- a/frontend/src/common/component/Notification/index.js
+++ b/frontend/src/common/component/Notification/index.js
@@ -1,7 +1,3 @@
-import Notification from './Notification';
-import NotificationItem from './NotificationItem';
-
-export {
- NotificationItem,
- Notification as default
-};
+/**
+ * Created by ludaming on 3/4/18.
+ */
diff --git a/frontend/src/graph/Graph.vue b/frontend/src/graph/Graph.vue
new file mode 100644
index 0000000000000000000000000000000000000000..0b1a3e12c9fbb0eaaf1540f3188b0f1a7afaf9af
--- /dev/null
+++ b/frontend/src/graph/Graph.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
diff --git a/frontend/src/graph/ui/Chart.vue b/frontend/src/graph/ui/Chart.vue
new file mode 100644
index 0000000000000000000000000000000000000000..b9c911e6bba8d45e14f83995ed14cfc28e093690
--- /dev/null
+++ b/frontend/src/graph/ui/Chart.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/graph/ui/Config.vue b/frontend/src/graph/ui/Config.vue
new file mode 100644
index 0000000000000000000000000000000000000000..f5ea3ee4092ac3d8b1b584332a3eeb6fe4ce95ff
--- /dev/null
+++ b/frontend/src/graph/ui/Config.vue
@@ -0,0 +1,57 @@
+
+
+
+ fullscreen
+ Fit to screen
+
+
+
+ file_download
+ Download image
+
+
+
+
+
+
+
diff --git a/frontend/src/histogram/Histogram.vue b/frontend/src/histogram/Histogram.vue
new file mode 100644
index 0000000000000000000000000000000000000000..6cd5e4fa98dc75f73c08e276fb922bbde6576b21
--- /dev/null
+++ b/frontend/src/histogram/Histogram.vue
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
diff --git a/frontend/src/histogram/ui/Chart.vue b/frontend/src/histogram/ui/Chart.vue
new file mode 100644
index 0000000000000000000000000000000000000000..1cfb92822a4bcc6e629f2ebd23cd76ac0056520b
--- /dev/null
+++ b/frontend/src/histogram/ui/Chart.vue
@@ -0,0 +1,525 @@
+
+
+
+
+
+
+ settings_overscan
+
+
+
+
+
+
+
diff --git a/frontend/src/histogram/ui/ChartPage.vue b/frontend/src/histogram/ui/ChartPage.vue
new file mode 100644
index 0000000000000000000000000000000000000000..d5a5e52175adcab3e878bc13e7075b6bbf6407d3
--- /dev/null
+++ b/frontend/src/histogram/ui/ChartPage.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
diff --git a/frontend/src/histogram/ui/Config.vue b/frontend/src/histogram/ui/Config.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9607984a55251b3c4a418712c5407a1e426714cb
--- /dev/null
+++ b/frontend/src/histogram/ui/Config.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{config.running ? 'Running' : 'Stopped'}}
+
+
+
+
+
+
+
diff --git a/frontend/src/images/Images.vue b/frontend/src/images/Images.vue
new file mode 100644
index 0000000000000000000000000000000000000000..8f484db54dd845d538a60ed8919eb2be2878687c
--- /dev/null
+++ b/frontend/src/images/Images.vue
@@ -0,0 +1,168 @@
+
+
+
+
+
+
+
diff --git a/frontend/src/images/ui/ChartPage.vue b/frontend/src/images/ui/ChartPage.vue
new file mode 100644
index 0000000000000000000000000000000000000000..3116b82ff799f337b7fec2903b5331b82430168f
--- /dev/null
+++ b/frontend/src/images/ui/ChartPage.vue
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/images/ui/Config.vue b/frontend/src/images/ui/Config.vue
new file mode 100644
index 0000000000000000000000000000000000000000..71137c31e3c4b317dbf7cc2b4d7c5229bf3266c3
--- /dev/null
+++ b/frontend/src/images/ui/Config.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+ {{config.running ? 'Running' : 'Stopped'}}
+
+
+
+
+
diff --git a/frontend/src/images/ui/Image.vue b/frontend/src/images/ui/Image.vue
new file mode 100644
index 0000000000000000000000000000000000000000..04a8e72d7171db8f2f0ba06ef192efdd9c1f13d0
--- /dev/null
+++ b/frontend/src/images/ui/Image.vue
@@ -0,0 +1,158 @@
+
+
+
{{tagInfo.tag.displayName}}
+ {{tagInfo.run}}
+
+
+ Step:
+ {{imgData.step}};
+ {{imgData.wall_time | formatTime}}
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/index.js b/frontend/src/index.js
index 8506d669cbb9458f4fb89800816ca0e85acbd1fc..af9fa30167aff7f377dabfec42c704a7dd611d0a 100644
--- a/frontend/src/index.js
+++ b/frontend/src/index.js
@@ -1,16 +1,46 @@
-import 'normalize.css/normalize.css';
-import 'san-mui/index.css';
-import './common/component/ui-common.styl';
+//import 'normalize.css/normalize.css';
+//import 'san-mui/index.css';
+//import './common/component/ui-common.styl';
+//
+//import './home/index';
+//import './scalars/index';
+//import './images/index';
+//import './histogram/index';
+//import './graph/index';
+//
+//import App from './App';
+//new App({
+// data: {
+// titleName: 'VisualDL'
+// }
+//}).attach(document.getElementById('root'));
+//
+//var vm = new Vue({
+// el: "#root",
+//
+//})
-import './home/index';
-import './scalars/index';
-import './images/index';
-import './histogram/index';
-import './graph/index';
-import App from './App';
-new App({
- data: {
- titleName: 'VisualDL'
+
+// The Vue build version to load with the `import` command
+// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
+import Vue from 'vue'
+import App from './App'
+import Vuetify from 'vuetify'
+import router from '@/router'
+Vue.config.productionTip = false
+
+Vue.use(Vuetify, {
+ theme: {
+ primary: '#008c99',
+ accent: '#008c99'
}
-}).attach(document.getElementById('root'));
+})
+
+/* eslint-disable no-new */
+new Vue({
+ el: '#root',
+ router,
+ components: {App},
+ template: '',
+})
diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..6832582f219b681c5281e57f31e299a42b613817
--- /dev/null
+++ b/frontend/src/router/index.js
@@ -0,0 +1,34 @@
+import Vue from 'vue'
+import Router from 'vue-router'
+
+import Scalars from '@/scalars/Scalars'
+import Histogram from '@/histogram/Histogram'
+import Images from '@/images/Images'
+import Graph from '@/graph/Graph'
+
+Vue.use(Router)
+
+export default new Router({
+ routes: [
+ {
+ path: '/scalars',
+ name: 'Scalars',
+ component: Scalars
+ },
+ {
+ path: '/histograms',
+ name: 'Histograms',
+ component: Histogram
+ },
+ {
+ path: '/images',
+ name: 'Images',
+ component: Images
+ },
+ {
+ path: '/graphs',
+ name: 'Graph',
+ component: Graph
+ },
+ ]
+})
diff --git a/frontend/src/scalars/Scalars.vue b/frontend/src/scalars/Scalars.vue
new file mode 100644
index 0000000000000000000000000000000000000000..bfa18c684b2f1c9392e2e24ed931c4ec0f1157ec
--- /dev/null
+++ b/frontend/src/scalars/Scalars.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
diff --git a/frontend/src/scalars/ui/Chart.vue b/frontend/src/scalars/ui/Chart.vue
new file mode 100644
index 0000000000000000000000000000000000000000..66a4c508281ebe20a6db30966061c8a31fb1e395
--- /dev/null
+++ b/frontend/src/scalars/ui/Chart.vue
@@ -0,0 +1,591 @@
+
+
+
+
+
+
+ settings_overscan
+
+
+
+ file_download
+
+
+
+
+
+
+
diff --git a/frontend/src/scalars/ui/ChartPage.vue b/frontend/src/scalars/ui/ChartPage.vue
new file mode 100644
index 0000000000000000000000000000000000000000..af30bb6fe36abd7a1323c73987e6d23ea4371be0
--- /dev/null
+++ b/frontend/src/scalars/ui/ChartPage.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
diff --git a/frontend/src/scalars/ui/Config.vue b/frontend/src/scalars/ui/Config.vue
new file mode 100644
index 0000000000000000000000000000000000000000..d77143c106c04751710004b14ced04c44eadcd75
--- /dev/null
+++ b/frontend/src/scalars/ui/Config.vue
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+ {{config.smoothing}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{config.running ? 'Running' : 'Stopped'}}
+
+
+
+
+
+
+
diff --git a/frontend/src/style/main.styl b/frontend/src/style/main.styl
new file mode 100644
index 0000000000000000000000000000000000000000..f8b5da7da33d1d3e88d64bdf761dd064079af039
--- /dev/null
+++ b/frontend/src/style/main.styl
@@ -0,0 +1,11 @@
+//stylus variables define before import statement
+$input-font-size = 14px
+
+@import '../../node_modules/vuetify/src/stylus/main'
+
+//css define after import statement
+.input-group.input-group--slider label
+ font-size $input-font-size
+
+.input-group__details
+ min-height 14px
\ No newline at end of file
diff --git a/frontend/src/style/variables.styl b/frontend/src/style/variables.styl
index 91fd99c0eae6031b3b8815f98b91b68b17d99e24..0110766dcd2460c353f9a2b45495f4905c4bc17f 100644
--- a/frontend/src/style/variables.styl
+++ b/frontend/src/style/variables.styl
@@ -8,6 +8,6 @@ $-left-background-color = #303a3a
$-content-text-color = #303a3a
-$-left-border-clor = #e9e9e9
+$-left-border-color = #e9e9e9
-$-right-font-color = #ccc
+$-right-font-color = rgba(#fff, 0.7)
diff --git a/frontend/template/index.html b/frontend/template/index.html
index e984f5e24a1e63d133b65184c263cc540428d126..198a8895717b81b1dfab9ebf1172755d23b16d2e 100755
--- a/frontend/template/index.html
+++ b/frontend/template/index.html
@@ -5,6 +5,7 @@
Visual DL
+
diff --git a/frontend/tool/webpack.config.js b/frontend/tool/webpack.config.js
index a0f7e8b6770da150e93946685314833459eb55c0..1cece3cb4e31c5ec6f5b8c8f27bcc4bb8e13808a 100644
--- a/frontend/tool/webpack.config.js
+++ b/frontend/tool/webpack.config.js
@@ -46,11 +46,13 @@ const config = {
resolve: {
alias: {
- 'san-mui': 'san-mui/lib',
- axios: 'axios/dist/axios.min.js'
+ axios: 'axios/dist/axios.min.js',
+ 'vue$': 'vue/dist/vue.esm.js',
+ '@': path.resolve(projectPath, 'src'),
+ style: path.resolve(__dirname, '../src/style')
},
- extensions: ['.js', '.json', '.styl', '.css', '.html', '.san']
+ extensions: ['.js', '.json', '.styl', '.css', '.html', '.vue']
},
module: {
@@ -59,13 +61,8 @@ const config = {
],
rules: [
{
- test: /\.san$/,
- loader: 'san-loader',
- options: {
- loaders: {
- stylus: getLoaders(isDev, 'stylus')
- }
- }
+ test: /\.vue$/,
+ loader: 'vue-loader',
},
{
test: /\.js$/,