Removed vue-custom-scrollbar and added smooth-scrollbar instead and implemented it for sidebar and homepage

pull/30/head
Nikan Dalvand 2019-07-28 15:02:16 +04:30
parent 1d40f6779b
commit c0de57da6c
4 changed files with 94 additions and 71 deletions

21
package-lock.json generated
View File

@ -4282,8 +4282,7 @@
"core-js": { "core-js": {
"version": "2.6.9", "version": "2.6.9",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
"integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
"dev": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
@ -10152,6 +10151,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
"integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==" "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw=="
}, },
"lodash-es": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz",
"integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ=="
},
"lodash._arraycopy": { "lodash._arraycopy": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
@ -14678,6 +14682,16 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"smooth-scrollbar": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/smooth-scrollbar/-/smooth-scrollbar-8.4.0.tgz",
"integrity": "sha512-ROKPDABrNcCpiR7grzyRMykYtWSP7qyX59Ka/fcSPRYcixYPZhzW5mkg6EuAHMBvvVc9iHst7mOnnuM0+C/kBQ==",
"requires": {
"core-js": "^2.6.5",
"lodash-es": "^4.17.11",
"tslib": "^1.9.3"
}
},
"smtp-connection": { "smtp-connection": {
"version": "2.12.0", "version": "2.12.0",
"resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz", "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
@ -16148,8 +16162,7 @@
"tslib": { "tslib": {
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
"dev": true
}, },
"tsscmp": { "tsscmp": {
"version": "1.0.6", "version": "1.0.6",

View File

@ -61,6 +61,7 @@
"dominant-color": "0.0.1", "dominant-color": "0.0.1",
"normalize-scss": "^7.0.1", "normalize-scss": "^7.0.1",
"roboto-slab-fontface-kit": "^1.0.2", "roboto-slab-fontface-kit": "^1.0.2",
"smooth-scrollbar": "^8.4.0",
"vue": "^2.5.16", "vue": "^2.5.16",
"vue-custom-scrollbar": "^1.1.0", "vue-custom-scrollbar": "^1.1.0",
"vue-electron": "^1.0.6", "vue-electron": "^1.0.6",

View File

@ -17,8 +17,7 @@
<Logo :nopadding="true"/> <Logo :nopadding="true"/>
</section> </section>
<section class="overlay" :class="{'open': menuStatus === true}" @click="toggleMenuStatus" /> <section class="overlay" :class="{'open': menuStatus === true}" @click="toggleMenuStatus" />
<section > <section class="sidebar" :class="{'open': menuStatus === true}">
<vue-custom-scrollbar class="sidebar" :class="{'open': menuStatus === true}" :settings="settings">
<div class="logo-wrapper"> <div class="logo-wrapper">
<Logo class="logo" /> <Logo class="logo" />
</div> </div>
@ -116,7 +115,6 @@
Version {{version}} Version {{version}}
</MenuItem> </MenuItem>
</MenuGroup> </MenuGroup>
</vue-custom-scrollbar>
</section> </section>
</div> </div>
</template> </template>
@ -128,13 +126,16 @@ import projectPackage from '~/package.json'
import Logo from '../components/Logo' import Logo from '../components/Logo'
import { mapActions, mapGetters } from 'vuex' import { mapActions, mapGetters } from 'vuex'
import Button from '../components/Button' import Button from '../components/Button'
import vueCustomScrollbar from 'vue-custom-scrollbar' import Scrollbar from 'smooth-scrollbar'
export default { export default {
name: 'DockableSidebar', name: 'DockableSidebar',
components: { MenuGroup, MenuItem, Logo, Button, vueCustomScrollbar }, components: { MenuGroup, MenuItem, Logo, Button },
data: () => { data: () => {
return { version: projectPackage.version, settings: { maxScrollbarLength: 60, swipeEasing: true, wheelSpeed: 0.5 } } return { version: projectPackage.version }
},
mounted () {
let container = this.$el.getElementsByClassName('sidebar')[0]
Scrollbar.init(container)
}, },
methods: { methods: {
...mapActions(['toggleMenuStatus']) ...mapActions(['toggleMenuStatus'])
@ -143,7 +144,7 @@ export default {
} }
</script> </script>
<style scoped lang="sass"> <style lang="sass">
section.handle section.handle
position: absolute position: absolute
left: 0 left: 0
@ -198,6 +199,9 @@ section.sidebar
flex-direction: column flex-direction: column
overflow-y: hidden overflow-y: hidden
transition: width 300ms,transform 300ms,padding 500ms transition: width 300ms,transform 300ms,padding 500ms
.scroll-content
display: flex
flex-direction: column
.logo-wrapper .logo-wrapper
min-height: 48px min-height: 48px
.icon .icon

View File

@ -1,5 +1,5 @@
<template> <template>
<section> <section class="wtf">
<ActionBar class="action-bar" /> <ActionBar class="action-bar" />
<div class="upper-row"> <div class="upper-row">
<MusicRow :items='items' /> <MusicRow :items='items' />
@ -68,10 +68,15 @@ import ListItem from '../components/ListItem'
import Button from '../components/Button' import Button from '../components/Button'
import carousel from 'vue-owl-carousel' import carousel from 'vue-owl-carousel'
import MusicBox from '../components/MusicBox' import MusicBox from '../components/MusicBox'
import Scrollbar from 'smooth-scrollbar'
export default { export default {
name: 'HomePage', name: 'HomePage',
components: { ActionBar, MusicRow, List, ListItem, Button, carousel, MusicBox }, components: { ActionBar, MusicRow, List, ListItem, Button, carousel, MusicBox },
mounted () {
let container = this.$el
Scrollbar.init(container)
},
data: () => { data: () => {
return { return {
items: [ items: [