| 
					
				 | 
			
			
				@@ -1,111 +1,121 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<template>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  <div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <sidebar v-if="!sidebar.hide" class="sidebar-container" />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div :class="{'fixed-header':fixedHeader}">
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <navbar />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <tags-view v-if="needTagsView" />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <app-main />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <right-panel>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <settings />
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </right-panel>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  </div>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</template>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<script>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import RightPanel from '@/components/RightPanel'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import ResizeMixin from './mixin/ResizeHandler'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { mapState } from 'vuex'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import variables from '@/assets/styles/variables.scss'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export default {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  name: 'Layout',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  components: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    AppMain,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Navbar,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    RightPanel,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Settings,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Sidebar,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    TagsView
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mixins: [ResizeMixin],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  computed: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ...mapState({
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      theme: state => state.settings.theme,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      sideTheme: state => state.settings.sideTheme,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      sidebar: state => state.app.sidebar,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      device: state => state.app.device,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      needTagsView: state => state.settings.tagsView,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      fixedHeader: state => state.settings.fixedHeader
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }),
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    classObj() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        hideSidebar: !this.sidebar.opened,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        openSidebar: this.sidebar.opened,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        withoutAnimation: this.sidebar.withoutAnimation,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mobile: this.device === 'mobile'
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    variables() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return variables;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  methods: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleClickOutside() {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</script>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<style lang="scss" scoped>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  @import "~@/assets/styles/mixin.scss";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  @import "~@/assets/styles/variables.scss";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .app-wrapper {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @include clearfix;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    position: relative;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    height: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    &.mobile.openSidebar {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      position: fixed;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      top: 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .drawer-bg {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    background: #000;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    opacity: 0.3;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    top: 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    height: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    position: absolute;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    z-index: 999;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .fixed-header {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    position: fixed;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    top: 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    right: 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    z-index: 9;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    width: calc(100% - #{$base-sidebar-width});
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    transition: width 0.28s;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .hideSidebar .fixed-header {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    width: calc(100% - 54px);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .sidebarHide .fixed-header {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .mobile .fixed-header {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    width: 100%;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style>
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div :class="classObj" class="app-wrapper" :style="{'--current-color': theme}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-scrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <sidebar v-if="!sidebar.hide" class="sidebar-container"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div :class="{'fixed-header':fixedHeader}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <navbar/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <tags-view v-if="needTagsView"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <app-main/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <right-panel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <settings/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </right-panel> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-scrollbar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import RightPanel from '@/components/RightPanel' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ResizeMixin from './mixin/ResizeHandler' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { mapState } from 'vuex' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import variables from '@/assets/styles/variables.scss' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'Layout', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    AppMain, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Navbar, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RightPanel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Settings, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Sidebar, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TagsView 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mixins: [ResizeMixin], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ...mapState({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      theme: state => state.settings.theme, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sideTheme: state => state.settings.sideTheme, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sidebar: state => state.app.sidebar, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      device: state => state.app.device, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      needTagsView: state => state.settings.tagsView, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      fixedHeader: state => state.settings.fixedHeader 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    classObj() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        hideSidebar: !this.sidebar.opened, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        openSidebar: this.sidebar.opened, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        withoutAnimation: this.sidebar.withoutAnimation, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mobile: this.device === 'mobile' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    variables() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return variables; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleClickOutside() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$store.dispatch('app/closeSideBar', { withoutAnimation: false }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  @import "~@/assets/styles/mixin.scss"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  @import "~@/assets/styles/variables.scss"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .app-wrapper { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @include clearfix; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .el-scrollbar{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ::v-deep .el-scrollbar__wrap { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      overflow-x: hidden; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    &.mobile.openSidebar { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      position: fixed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      top: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .drawer-bg { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    opacity: 0.3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    top: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    z-index: 999; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .fixed-header { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: fixed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    top: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    right: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    z-index: 9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: calc(100% - #{$base-sidebar-width}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    transition: width 0.28s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .hideSidebar .fixed-header { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: calc(100% - 54px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .sidebarHide .fixed-header { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .mobile .fixed-header { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |