<template>
  <div class="app-wrapper">
    <el-scrollbar wrap-class="scrollbar-wrapper">
      <div v-show="listShow" class="examList" :style="{width: widthLeft+'px'}">
        <demon-list ref="demonList" :height="height" />
      </div>
      <drap-left :width-left="widthLeft" @drapWidth="drapWidth" />
      <transition>
        <router-view :product-list="productList" />
      </transition>
    </el-scrollbar>
  </div>
</template>

<script>
import { mapGetters } from 'vuex';
import demonList from './list/demonList';
import WindowResizeHandler from '@/mixin/WindowResizeHandler';
import drapLeft from '@/views/components/drapLeft/index';
import localStore from 'storejs';

export default {
	name: 'Exam',
	components: {
		demonList,
		drapLeft
	},
	mixins: [WindowResizeHandler],
	data() {
		return {
			height: 0,
			listShow: true,
			widthLeft: 450,
			productList: []
		};
	},
	computed: {
		...mapGetters([
			'lessonbar'
		])
	},
	watch: {
		'lessonbar.opened': function (val) {
			this.listShow = val;
			this.resizeHandler();
		}
	},
	mounted() {
		this.widthLeft = Number(localStore.get('LeftWidth'));
	},
	methods: {
		resizeHandler() {
			this.height = this._clientHeight;
		},
		refresh() {
			this.$refs && this.$refs.demonList && this.$refs.demonList.refresh();
		},
		drapWidth(width) {
			this.widthLeft = Number(width);
		}
	}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
    @import "src/styles/mixin.scss";

    .app-wrapper {
        @include clearfix;
        position: relative;
        height: 100%;
        width: 100%;
        overflow: hidden;
    }

    .examList {
        float: left;
    }
</style>
