Skip to content

Commit 7334454

Browse files
author
AMJones
committed
Fixes issues with XL drawer on touch displays.
1 parent 9a5f577 commit 7334454

7 files changed

Lines changed: 76 additions & 15 deletions

File tree

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"css"
1111
],
1212
"homepage": "https://www.github.com/strapless/drawer",
13-
"version": "2.0.1",
13+
"version": "2.0.3",
1414
"authors": [
1515
{
1616
"name": "Aaron M Jones",

dist/css/drawer.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* StrapLess Drawer v2.0.1 (http://github.com/strapless/drawer)
2+
* StrapLess Drawer v2.0.3 (http://github.com/strapless/drawer)
33
* Licensed under MIT (https://github.com/strapless/drawer/blob/master/LICENSE)
44
*/
55
.drawer {

dist/css/drawer.min.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/drawer.js

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jQuery.fn.extend( {
6262
/**
6363
* jQuery Plugin for managing a navigation drawer.
6464
*
65-
* @version v2.0.1
65+
* @version v2.0.3
6666
* @license https://github.com/strapless/strapless/LICENSE
6767
* @author Aaron M Jones <am@jonesiscoding.com>
6868
*/
@@ -76,15 +76,43 @@ jQuery.fn.extend( {
7676
var href = $trigger.attr( 'href' );
7777
var $target = $( $trigger.attr( 'data-target' ) || (href && href.replace( /.*(?=#[^\s]+$)/, '' )) ); // strip for ie7
7878
var $html = $('html');
79+
var bps = ['xs','sm','md','lg','xl'];
80+
var types = [ 'temporary', 'persistent', 'permanent' ];
7981

8082
drawer.isTemporary = function() {
81-
return $.fn.isBreakpoint( [ 'xs', 'sm', 'md' ] ) || ($.fn.isBreakpoint(['lg']) && $html.hasClass('touch'));
83+
return true === ( getDrawerType() === 'temporary' );
8284
};
8385

8486
drawer.isPersistent = function() {
85-
return ($.fn.isBreakpoint(['lg']) || ($.fn.isBreakpoint(['xl']) && $html.hasClass('touch'))) && !drawer.isTemporary();
87+
return true === ( getDrawerType() === 'persistent' );
8688
};
8789

90+
function getViewport() {
91+
for(var x = 0; x < bps.length; x++) {
92+
if ( $.fn.isBreakpoint( bps[ x ] ) ) {
93+
return bps[x];
94+
}
95+
}
96+
97+
return 'xs'
98+
}
99+
100+
function getDrawerType() {
101+
var type = 'temporary';
102+
var viewport = getViewport();
103+
var infix;
104+
for(var i = 0; i < bps.length; i++) {
105+
infix = (i === 0) ? '' : bps[i] + '-';
106+
for(var x = 0; x < types.length; x++) {
107+
if ( $target.hasClass( 'drawer-' + infix + types[ x ] ) ) {
108+
type = types[x];
109+
}
110+
}
111+
112+
if ( bps[ i ] === viewport ) { return type; }
113+
}
114+
}
115+
88116
drawer.init = function() {
89117
if ( typeof $target !== 'undefined' ) {
90118
if(drawer.isTemporary()) {

dist/js/drawer.min.js

Lines changed: 10 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)