Skip to content

Commit 0a1a8f6

Browse files
committed
fix(v-toolbar): fix a fix
added unncessary prop, also fixed logic preventing inverted scroll from working properly
1 parent 85b240e commit 0a1a8f6

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

src/components/VToolbar/VToolbar.js

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import SSRBootable from '../../mixins/ssr-bootable'
99

1010
// Directives
1111
import Scroll from '../../directives/scroll'
12+
import { deprecate } from '../../util/console'
1213

1314
/* @vue/component */
1415
export default {
@@ -49,6 +50,7 @@ export default {
4950
manualScroll: Boolean,
5051
prominent: Boolean,
5152
scrollOffScreen: Boolean,
53+
/* @deprecated */
5254
scrollToolbarOffScreen: Boolean,
5355
scrollTarget: String,
5456
scrollThreshold: {
@@ -77,6 +79,16 @@ export default {
7779
}),
7880

7981
computed: {
82+
canScroll () {
83+
// TODO: remove
84+
if (this.scrollToolbarOffScreen) {
85+
deprecate('scrollToolbarOffScreen', 'scrollOffScreen', this)
86+
87+
return true
88+
}
89+
90+
return this.scrollOffScreen || this.invertedScroll
91+
},
8092
computedContentHeight () {
8193
if (this.height) return parseInt(this.height)
8294
if (this.dense) return this.heights.dense
@@ -112,7 +124,7 @@ export default {
112124
'v-toolbar': true,
113125
'elevation-0': this.flat || (!this.isActive &&
114126
!this.tabs &&
115-
!this.scrollToolbarOffScreen
127+
this.canScroll
116128
),
117129
'v-toolbar--absolute': this.absolute,
118130
'v-toolbar--card': this.card,
@@ -138,7 +150,7 @@ export default {
138150
},
139151
computedTransform () {
140152
return !this.isActive
141-
? this.scrollToolbarOffScreen
153+
? this.canScroll
142154
? -this.computedContentHeight
143155
: -this.computedHeight
144156
: 0
@@ -197,8 +209,7 @@ export default {
197209

198210
methods: {
199211
onScroll () {
200-
if ((!this.scrollOffScreen &&
201-
!this.scrollToolbarOffScreen) ||
212+
if (!this.canScroll ||
202213
this.manualScroll ||
203214
typeof window === 'undefined'
204215
) return

test/unit/components/VToolbar/VToolbar.spec.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ const scrollWindow = y => {
1010
return new Promise(resolve => setTimeout(resolve, 200))
1111
}
1212

13+
const deprecateScrollToolbarOffScreen = `'scrollToolbarOffScreen' is deprecated, use 'scrollOffScreen' instead`
14+
1315
test('VToolbar.vue', ({ mount }) => {
1416
it('should render a colored toolbar', () => {
1517
const wrapper = mount(VToolbar, {
@@ -209,6 +211,7 @@ test('VToolbar.vue', ({ mount }) => {
209211
wrapper.setProps({ scrollToolbarOffScreen: true })
210212

211213
expect(wrapper.vm.computedTransform).toBe(-56)
214+
expect(deprecateScrollToolbarOffScreen).toHaveBeenTipped()
212215
})
213216

214217
it('should have a custom extension height', () => {

0 commit comments

Comments
 (0)