Skip to content

Commit 83a527f

Browse files
committed
Theming: optimized touch interaction with offcanvas
1 parent c323395 commit 83a527f

File tree

7 files changed

+16
-12
lines changed

7 files changed

+16
-12
lines changed

src/Presentation/SmartStore.Web/Themes/Alpha/Content/_cart.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,6 @@
9595
.offcanvas-cart-body {
9696
position: relative;
9797
flex-grow: 1;
98-
overflow-y: auto;
99-
overflow-x: hidden;
10098
min-height: 100px;
10199
line-height: 1.5;
102100

src/Presentation/SmartStore.Web/Themes/Alpha/Content/shared/_offcanvas.scss

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,6 @@ body.canvas-blocking .canvas-blocker {
105105
right: auto;
106106
transform: translate3d($offcanvas-offset-p-neg, 0, 0);
107107

108-
* {
109-
// Fixes Chrome 55+ pan/swipe bug
110-
touch-action: pan-y;
111-
}
112-
113108
&.offcanvas-right {
114109
left: auto !important;
115110
right: 0;
@@ -166,6 +161,13 @@ body.canvas-blocking .canvas-blocker {
166161
height: 100%;
167162
overflow-x: hidden;
168163
overflow-y: auto;
164+
touch-action: none;
165+
}
166+
167+
.offcanvas-scrollable {
168+
touch-action: pan-y;
169+
overflow-x: hidden;
170+
overflow-y: auto;
169171
}
170172

171173

src/Presentation/SmartStore.Web/Themes/Alpha/Scripts/smartstore.responsiveNav.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
tabContent.appendTo(offcanvas.children().first());
3737
el.data('tab-content', tabContent).data('offcanvas', offcanvas).addClass('collapsed');
3838

39+
tabContent.find('.tab-pane').addClass('offcanvas-scrollable');
40+
3941
el.find('.nav .nav-item')
4042
.attr('data-toggle', 'offcanvas')
4143
.attr('data-placement', 'right')
@@ -49,9 +51,11 @@
4951

5052
// move .tab-content back to its origin
5153
var offcanvas = el.data('offcanvas');
52-
el.data('tab-content').appendTo(el);
54+
var tabContent = el.data('tab-content');
55+
tabContent.appendTo(el);
5356
offcanvas.remove();
5457

58+
tabContent.find('.tab-pane').removeClass('offcanvas-scrollable');
5559
el.removeClass('collapsed').removeData('tab-content').removeData('offcanvas');
5660

5761
el.find('.nav .nav-item')

src/Presentation/SmartStore.Web/Views/Catalog/Partials/OffCanvasCompare.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
@using SmartStore.Web.Models.Catalog;
44

5-
<div class="offcanvas-cart-body">
5+
<div class="offcanvas-cart-body offcanvas-scrollable">
66
@if (Model.Items.Count == 0)
77
{
88
<div class="no-items">

src/Presentation/SmartStore.Web/Views/Common/Partials/ShopBar.Tools.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
@using (Html.BeginZoneContent("end", key: "offcanvas-menu"))
100100
{
101101
<aside id="offcanvas-menu" class="offcanvas offcanvas-overlay offcanvas-left offcanvas-shadow" data-blocker="true" data-overlay="true" data-placement="left">
102-
<div class="offcanvas-content">
102+
<div class="offcanvas-content offcanvas-scrollable">
103103
<!-- AJAX -->
104104
</div>
105105
</aside>

src/Presentation/SmartStore.Web/Views/ShoppingCart/OffCanvasShoppingCart.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
}
1919
}
2020

21-
<div class="offcanvas-cart-body">
21+
<div class="offcanvas-cart-body offcanvas-scrollable">
2222
@if (Model.TotalProducts == 0)
2323
{
2424
<div class="no-items">

src/Presentation/SmartStore.Web/Views/ShoppingCart/OffCanvasWishlist.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
int attrMaxLength = Model.ShowProductImages ? 50 : 70;
88
}
99

10-
<div class="offcanvas-cart-body">
10+
<div class="offcanvas-cart-body offcanvas-scrollable">
1111
@if (Model.Items.Count == 0)
1212
{
1313
<div class="no-items">

0 commit comments

Comments
 (0)