修改系统
This commit is contained in:
		
							
								
								
									
										102
									
								
								stdiet-ui/src/views/dashboard/BarChart.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								stdiet-ui/src/views/dashboard/BarChart.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,102 @@ | ||||
| <template> | ||||
|   <div :class="className" :style="{height:height,width:width}" /> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import echarts from 'echarts' | ||||
| require('echarts/theme/macarons') // echarts theme | ||||
| import resize from './mixins/resize' | ||||
|  | ||||
| const animationDuration = 6000 | ||||
|  | ||||
| export default { | ||||
|   mixins: [resize], | ||||
|   props: { | ||||
|     className: { | ||||
|       type: String, | ||||
|       default: 'chart' | ||||
|     }, | ||||
|     width: { | ||||
|       type: String, | ||||
|       default: '100%' | ||||
|     }, | ||||
|     height: { | ||||
|       type: String, | ||||
|       default: '300px' | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       chart: null | ||||
|     } | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.$nextTick(() => { | ||||
|       this.initChart() | ||||
|     }) | ||||
|   }, | ||||
|   beforeDestroy() { | ||||
|     if (!this.chart) { | ||||
|       return | ||||
|     } | ||||
|     this.chart.dispose() | ||||
|     this.chart = null | ||||
|   }, | ||||
|   methods: { | ||||
|     initChart() { | ||||
|       this.chart = echarts.init(this.$el, 'macarons') | ||||
|  | ||||
|       this.chart.setOption({ | ||||
|         tooltip: { | ||||
|           trigger: 'axis', | ||||
|           axisPointer: { // 坐标轴指示器,坐标轴触发有效 | ||||
|             type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' | ||||
|           } | ||||
|         }, | ||||
|         grid: { | ||||
|           top: 10, | ||||
|           left: '2%', | ||||
|           right: '2%', | ||||
|           bottom: '3%', | ||||
|           containLabel: true | ||||
|         }, | ||||
|         xAxis: [{ | ||||
|           type: 'category', | ||||
|           data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], | ||||
|           axisTick: { | ||||
|             alignWithLabel: true | ||||
|           } | ||||
|         }], | ||||
|         yAxis: [{ | ||||
|           type: 'value', | ||||
|           axisTick: { | ||||
|             show: false | ||||
|           } | ||||
|         }], | ||||
|         series: [{ | ||||
|           name: 'pageA', | ||||
|           type: 'bar', | ||||
|           stack: 'vistors', | ||||
|           barWidth: '60%', | ||||
|           data: [79, 52, 200, 334, 390, 330, 220], | ||||
|           animationDuration | ||||
|         }, { | ||||
|           name: 'pageB', | ||||
|           type: 'bar', | ||||
|           stack: 'vistors', | ||||
|           barWidth: '60%', | ||||
|           data: [80, 52, 200, 334, 390, 330, 220], | ||||
|           animationDuration | ||||
|         }, { | ||||
|           name: 'pageC', | ||||
|           type: 'bar', | ||||
|           stack: 'vistors', | ||||
|           barWidth: '60%', | ||||
|           data: [30, 52, 200, 334, 390, 330, 220], | ||||
|           animationDuration | ||||
|         }] | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
							
								
								
									
										135
									
								
								stdiet-ui/src/views/dashboard/LineChart.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								stdiet-ui/src/views/dashboard/LineChart.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,135 @@ | ||||
| <template> | ||||
|   <div :class="className" :style="{height:height,width:width}" /> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import echarts from 'echarts' | ||||
| require('echarts/theme/macarons') // echarts theme | ||||
| import resize from './mixins/resize' | ||||
|  | ||||
| export default { | ||||
|   mixins: [resize], | ||||
|   props: { | ||||
|     className: { | ||||
|       type: String, | ||||
|       default: 'chart' | ||||
|     }, | ||||
|     width: { | ||||
|       type: String, | ||||
|       default: '100%' | ||||
|     }, | ||||
|     height: { | ||||
|       type: String, | ||||
|       default: '350px' | ||||
|     }, | ||||
|     autoResize: { | ||||
|       type: Boolean, | ||||
|       default: true | ||||
|     }, | ||||
|     chartData: { | ||||
|       type: Object, | ||||
|       required: true | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       chart: null | ||||
|     } | ||||
|   }, | ||||
|   watch: { | ||||
|     chartData: { | ||||
|       deep: true, | ||||
|       handler(val) { | ||||
|         this.setOptions(val) | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.$nextTick(() => { | ||||
|       this.initChart() | ||||
|     }) | ||||
|   }, | ||||
|   beforeDestroy() { | ||||
|     if (!this.chart) { | ||||
|       return | ||||
|     } | ||||
|     this.chart.dispose() | ||||
|     this.chart = null | ||||
|   }, | ||||
|   methods: { | ||||
|     initChart() { | ||||
|       this.chart = echarts.init(this.$el, 'macarons') | ||||
|       this.setOptions(this.chartData) | ||||
|     }, | ||||
|     setOptions({ expectedData, actualData } = {}) { | ||||
|       this.chart.setOption({ | ||||
|         xAxis: { | ||||
|           data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], | ||||
|           boundaryGap: false, | ||||
|           axisTick: { | ||||
|             show: false | ||||
|           } | ||||
|         }, | ||||
|         grid: { | ||||
|           left: 10, | ||||
|           right: 10, | ||||
|           bottom: 20, | ||||
|           top: 30, | ||||
|           containLabel: true | ||||
|         }, | ||||
|         tooltip: { | ||||
|           trigger: 'axis', | ||||
|           axisPointer: { | ||||
|             type: 'cross' | ||||
|           }, | ||||
|           padding: [5, 10] | ||||
|         }, | ||||
|         yAxis: { | ||||
|           axisTick: { | ||||
|             show: false | ||||
|           } | ||||
|         }, | ||||
|         legend: { | ||||
|           data: ['expected', 'actual'] | ||||
|         }, | ||||
|         series: [{ | ||||
|           name: 'expected', itemStyle: { | ||||
|             normal: { | ||||
|               color: '#ff005a', | ||||
|               lineStyle: { | ||||
|                 color: '#FF005A', | ||||
|                 width: 2 | ||||
|               } | ||||
|             } | ||||
|           }, | ||||
|           smooth: true, | ||||
|           type: 'line', | ||||
|           data: expectedData, | ||||
|           animationDuration: 2800, | ||||
|           animationEasing: 'cubicInOut' | ||||
|         }, | ||||
|         { | ||||
|           name: 'actual', | ||||
|           smooth: true, | ||||
|           type: 'line', | ||||
|           itemStyle: { | ||||
|             normal: { | ||||
|               color: '#3888fa', | ||||
|               lineStyle: { | ||||
|                 color: '#3888fa', | ||||
|                 width: 2 | ||||
|               }, | ||||
|               areaStyle: { | ||||
|                 color: '#f3f8ff' | ||||
|               } | ||||
|             } | ||||
|           }, | ||||
|           data: actualData, | ||||
|           animationDuration: 2800, | ||||
|           animationEasing: 'quadraticOut' | ||||
|         }] | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
							
								
								
									
										181
									
								
								stdiet-ui/src/views/dashboard/PanelGroup.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										181
									
								
								stdiet-ui/src/views/dashboard/PanelGroup.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,181 @@ | ||||
| <template> | ||||
|   <el-row :gutter="40" class="panel-group"> | ||||
| <!--    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">--> | ||||
| <!--      <div class="card-panel" @click="handleSetLineChartData('newVisitis')">--> | ||||
| <!--        <div class="card-panel-icon-wrapper icon-people">--> | ||||
| <!--          <svg-icon icon-class="peoples" class-name="card-panel-icon" />--> | ||||
| <!--        </div>--> | ||||
| <!--        <div class="card-panel-description">--> | ||||
| <!--          <div class="card-panel-text">--> | ||||
| <!--            访客--> | ||||
| <!--          </div>--> | ||||
| <!--          <count-to :start-val="0" :end-val="102400" :duration="2600" class="card-panel-num" />--> | ||||
| <!--        </div>--> | ||||
| <!--      </div>--> | ||||
| <!--    </el-col>--> | ||||
| <!--    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">--> | ||||
| <!--      <div class="card-panel" @click="handleSetLineChartData('messages')">--> | ||||
| <!--        <div class="card-panel-icon-wrapper icon-message">--> | ||||
| <!--          <svg-icon icon-class="message" class-name="card-panel-icon" />--> | ||||
| <!--        </div>--> | ||||
| <!--        <div class="card-panel-description">--> | ||||
| <!--          <div class="card-panel-text">--> | ||||
| <!--            消息--> | ||||
| <!--          </div>--> | ||||
| <!--          <count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" />--> | ||||
| <!--        </div>--> | ||||
| <!--      </div>--> | ||||
| <!--    </el-col>--> | ||||
|     <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> | ||||
|       <div class="card-panel" @click="handleSetLineChartData('purchases')"> | ||||
|         <div class="card-panel-icon-wrapper icon-money"> | ||||
|           <svg-icon icon-class="money" class-name="card-panel-icon" /> | ||||
|         </div> | ||||
|         <div class="card-panel-description"> | ||||
|           <div class="card-panel-text"> | ||||
|             金额 | ||||
|           </div> | ||||
|           <count-to :start-val="0" :end-val="9280" :duration="3200" class="card-panel-num" /> | ||||
|         </div> | ||||
|       </div> | ||||
|     </el-col> | ||||
|     <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> | ||||
|       <div class="card-panel" @click="handleSetLineChartData('shoppings')"> | ||||
|         <div class="card-panel-icon-wrapper icon-shopping"> | ||||
|           <svg-icon icon-class="shopping" class-name="card-panel-icon" /> | ||||
|         </div> | ||||
|         <div class="card-panel-description"> | ||||
|           <div class="card-panel-text"> | ||||
|             订单 | ||||
|           </div> | ||||
|           <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> | ||||
|         </div> | ||||
|       </div> | ||||
|     </el-col> | ||||
|   </el-row> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import CountTo from 'vue-count-to' | ||||
|  | ||||
| export default { | ||||
|   components: { | ||||
|     CountTo | ||||
|   }, | ||||
|   methods: { | ||||
|     handleSetLineChartData(type) { | ||||
|       this.$emit('handleSetLineChartData', type) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <style lang="scss" scoped> | ||||
| .panel-group { | ||||
|   margin-top: 18px; | ||||
|  | ||||
|   .card-panel-col { | ||||
|     margin-bottom: 32px; | ||||
|   } | ||||
|  | ||||
|   .card-panel { | ||||
|     height: 108px; | ||||
|     cursor: pointer; | ||||
|     font-size: 12px; | ||||
|     position: relative; | ||||
|     overflow: hidden; | ||||
|     color: #666; | ||||
|     background: #fff; | ||||
|     box-shadow: 4px 4px 40px rgba(0, 0, 0, .05); | ||||
|     border-color: rgba(0, 0, 0, .05); | ||||
|  | ||||
|     &:hover { | ||||
|       .card-panel-icon-wrapper { | ||||
|         color: #fff; | ||||
|       } | ||||
|  | ||||
|       .icon-people { | ||||
|         background: #40c9c6; | ||||
|       } | ||||
|  | ||||
|       .icon-message { | ||||
|         background: #36a3f7; | ||||
|       } | ||||
|  | ||||
|       .icon-money { | ||||
|         background: #f4516c; | ||||
|       } | ||||
|  | ||||
|       .icon-shopping { | ||||
|         background: #34bfa3 | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .icon-people { | ||||
|       color: #40c9c6; | ||||
|     } | ||||
|  | ||||
|     .icon-message { | ||||
|       color: #36a3f7; | ||||
|     } | ||||
|  | ||||
|     .icon-money { | ||||
|       color: #f4516c; | ||||
|     } | ||||
|  | ||||
|     .icon-shopping { | ||||
|       color: #34bfa3 | ||||
|     } | ||||
|  | ||||
|     .card-panel-icon-wrapper { | ||||
|       float: left; | ||||
|       margin: 14px 0 0 14px; | ||||
|       padding: 16px; | ||||
|       transition: all 0.38s ease-out; | ||||
|       border-radius: 6px; | ||||
|     } | ||||
|  | ||||
|     .card-panel-icon { | ||||
|       float: left; | ||||
|       font-size: 48px; | ||||
|     } | ||||
|  | ||||
|     .card-panel-description { | ||||
|       float: right; | ||||
|       font-weight: bold; | ||||
|       margin: 26px; | ||||
|       margin-left: 0px; | ||||
|  | ||||
|       .card-panel-text { | ||||
|         line-height: 18px; | ||||
|         color: rgba(0, 0, 0, 0.45); | ||||
|         font-size: 16px; | ||||
|         margin-bottom: 12px; | ||||
|       } | ||||
|  | ||||
|       .card-panel-num { | ||||
|         font-size: 20px; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| @media (max-width:550px) { | ||||
|   .card-panel-description { | ||||
|     display: none; | ||||
|   } | ||||
|  | ||||
|   .card-panel-icon-wrapper { | ||||
|     float: none !important; | ||||
|     width: 100%; | ||||
|     height: 100%; | ||||
|     margin: 0 !important; | ||||
|  | ||||
|     .svg-icon { | ||||
|       display: block; | ||||
|       margin: 14px auto !important; | ||||
|       float: none !important; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										79
									
								
								stdiet-ui/src/views/dashboard/PieChart.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								stdiet-ui/src/views/dashboard/PieChart.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | ||||
| <template> | ||||
|   <div :class="className" :style="{height:height,width:width}" /> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import echarts from 'echarts' | ||||
| require('echarts/theme/macarons') // echarts theme | ||||
| import resize from './mixins/resize' | ||||
|  | ||||
| export default { | ||||
|   mixins: [resize], | ||||
|   props: { | ||||
|     className: { | ||||
|       type: String, | ||||
|       default: 'chart' | ||||
|     }, | ||||
|     width: { | ||||
|       type: String, | ||||
|       default: '100%' | ||||
|     }, | ||||
|     height: { | ||||
|       type: String, | ||||
|       default: '300px' | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       chart: null | ||||
|     } | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.$nextTick(() => { | ||||
|       this.initChart() | ||||
|     }) | ||||
|   }, | ||||
|   beforeDestroy() { | ||||
|     if (!this.chart) { | ||||
|       return | ||||
|     } | ||||
|     this.chart.dispose() | ||||
|     this.chart = null | ||||
|   }, | ||||
|   methods: { | ||||
|     initChart() { | ||||
|       this.chart = echarts.init(this.$el, 'macarons') | ||||
|  | ||||
|       this.chart.setOption({ | ||||
|         tooltip: { | ||||
|           trigger: 'item', | ||||
|           formatter: '{a} <br/>{b} : {c} ({d}%)' | ||||
|         }, | ||||
|         legend: { | ||||
|           left: 'center', | ||||
|           bottom: '10', | ||||
|           data: ['Industries', 'Technology', 'Forex', 'Gold', 'Forecasts'] | ||||
|         }, | ||||
|         series: [ | ||||
|           { | ||||
|             name: 'WEEKLY WRITE ARTICLES', | ||||
|             type: 'pie', | ||||
|             roseType: 'radius', | ||||
|             radius: [15, 95], | ||||
|             center: ['50%', '38%'], | ||||
|             data: [ | ||||
|               { value: 320, name: 'Industries' }, | ||||
|               { value: 240, name: 'Technology' }, | ||||
|               { value: 149, name: 'Forex' }, | ||||
|               { value: 100, name: 'Gold' }, | ||||
|               { value: 59, name: 'Forecasts' } | ||||
|             ], | ||||
|             animationEasing: 'cubicInOut', | ||||
|             animationDuration: 2600 | ||||
|           } | ||||
|         ] | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
							
								
								
									
										116
									
								
								stdiet-ui/src/views/dashboard/RaddarChart.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								stdiet-ui/src/views/dashboard/RaddarChart.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,116 @@ | ||||
| <template> | ||||
|   <div :class="className" :style="{height:height,width:width}" /> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| import echarts from 'echarts' | ||||
| require('echarts/theme/macarons') // echarts theme | ||||
| import resize from './mixins/resize' | ||||
|  | ||||
| const animationDuration = 3000 | ||||
|  | ||||
| export default { | ||||
|   mixins: [resize], | ||||
|   props: { | ||||
|     className: { | ||||
|       type: String, | ||||
|       default: 'chart' | ||||
|     }, | ||||
|     width: { | ||||
|       type: String, | ||||
|       default: '100%' | ||||
|     }, | ||||
|     height: { | ||||
|       type: String, | ||||
|       default: '300px' | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       chart: null | ||||
|     } | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.$nextTick(() => { | ||||
|       this.initChart() | ||||
|     }) | ||||
|   }, | ||||
|   beforeDestroy() { | ||||
|     if (!this.chart) { | ||||
|       return | ||||
|     } | ||||
|     this.chart.dispose() | ||||
|     this.chart = null | ||||
|   }, | ||||
|   methods: { | ||||
|     initChart() { | ||||
|       this.chart = echarts.init(this.$el, 'macarons') | ||||
|  | ||||
|       this.chart.setOption({ | ||||
|         tooltip: { | ||||
|           trigger: 'axis', | ||||
|           axisPointer: { // 坐标轴指示器,坐标轴触发有效 | ||||
|             type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' | ||||
|           } | ||||
|         }, | ||||
|         radar: { | ||||
|           radius: '66%', | ||||
|           center: ['50%', '42%'], | ||||
|           splitNumber: 8, | ||||
|           splitArea: { | ||||
|             areaStyle: { | ||||
|               color: 'rgba(127,95,132,.3)', | ||||
|               opacity: 1, | ||||
|               shadowBlur: 45, | ||||
|               shadowColor: 'rgba(0,0,0,.5)', | ||||
|               shadowOffsetX: 0, | ||||
|               shadowOffsetY: 15 | ||||
|             } | ||||
|           }, | ||||
|           indicator: [ | ||||
|             { name: 'Sales', max: 10000 }, | ||||
|             { name: 'Administration', max: 20000 }, | ||||
|             { name: 'Information Techology', max: 20000 }, | ||||
|             { name: 'Customer Support', max: 20000 }, | ||||
|             { name: 'Development', max: 20000 }, | ||||
|             { name: 'Marketing', max: 20000 } | ||||
|           ] | ||||
|         }, | ||||
|         legend: { | ||||
|           left: 'center', | ||||
|           bottom: '10', | ||||
|           data: ['Allocated Budget', 'Expected Spending', 'Actual Spending'] | ||||
|         }, | ||||
|         series: [{ | ||||
|           type: 'radar', | ||||
|           symbolSize: 0, | ||||
|           areaStyle: { | ||||
|             normal: { | ||||
|               shadowBlur: 13, | ||||
|               shadowColor: 'rgba(0,0,0,.2)', | ||||
|               shadowOffsetX: 0, | ||||
|               shadowOffsetY: 10, | ||||
|               opacity: 1 | ||||
|             } | ||||
|           }, | ||||
|           data: [ | ||||
|             { | ||||
|               value: [5000, 7000, 12000, 11000, 15000, 14000], | ||||
|               name: 'Allocated Budget' | ||||
|             }, | ||||
|             { | ||||
|               value: [4000, 9000, 15000, 15000, 13000, 11000], | ||||
|               name: 'Expected Spending' | ||||
|             }, | ||||
|             { | ||||
|               value: [5500, 11000, 12000, 15000, 12000, 12000], | ||||
|               name: 'Actual Spending' | ||||
|             } | ||||
|           ], | ||||
|           animationDuration: animationDuration | ||||
|         }] | ||||
|       }) | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
							
								
								
									
										56
									
								
								stdiet-ui/src/views/dashboard/mixins/resize.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								stdiet-ui/src/views/dashboard/mixins/resize.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| import { debounce } from '@/utils' | ||||
|  | ||||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       $_sidebarElm: null, | ||||
|       $_resizeHandler: null | ||||
|     } | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.initListener() | ||||
|   }, | ||||
|   activated() { | ||||
|     if (!this.$_resizeHandler) { | ||||
|       // avoid duplication init | ||||
|       this.initListener() | ||||
|     } | ||||
|  | ||||
|     // when keep-alive chart activated, auto resize | ||||
|     this.resize() | ||||
|   }, | ||||
|   beforeDestroy() { | ||||
|     this.destroyListener() | ||||
|   }, | ||||
|   deactivated() { | ||||
|     this.destroyListener() | ||||
|   }, | ||||
|   methods: { | ||||
|     // use $_ for mixins properties | ||||
|     // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential | ||||
|     $_sidebarResizeHandler(e) { | ||||
|       if (e.propertyName === 'width') { | ||||
|         this.$_resizeHandler() | ||||
|       } | ||||
|     }, | ||||
|     initListener() { | ||||
|       this.$_resizeHandler = debounce(() => { | ||||
|         this.resize() | ||||
|       }, 100) | ||||
|       window.addEventListener('resize', this.$_resizeHandler) | ||||
|  | ||||
|       this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0] | ||||
|       this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler) | ||||
|     }, | ||||
|     destroyListener() { | ||||
|       window.removeEventListener('resize', this.$_resizeHandler) | ||||
|       this.$_resizeHandler = null | ||||
|  | ||||
|       this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler) | ||||
|     }, | ||||
|     resize() { | ||||
|       const { chart } = this | ||||
|       chart && chart.resize() | ||||
|     } | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user