Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve test coverage #242

Merged
merged 9 commits into from Jul 12, 2020
10 changes: 5 additions & 5 deletions docs/_packages/drawer.md
Expand Up @@ -510,16 +510,16 @@ By default, the state of a drawer is saved to local storage and applied persiste
</tr>

<!-- Feature toggles -->
<tr>
<td data-mobile-label="Key"><code class="code text-nowrap">customEventPrefix</code></td>
<td data-mobile-label="Default"><code class="code color-secondary text-nowrap">'drawer:'</code></td>
<td data-mobile-label="Desc">Prefix to be used on custom events.</td>
</tr>
<tr>
<td data-mobile-label="Key"><code class="code text-nowrap">breakpoints</code></td>
<td data-mobile-label="Default"><code class="code color-secondary text-nowrap">core.breakpoints</code></td>
<td data-mobile-label="Desc">An object with key/value pairs defining a breakpoints set.</td>
</tr>
<tr>
<td data-mobile-label="Key"><code class="code text-nowrap">customEventPrefix</code></td>
<td data-mobile-label="Default"><code class="code color-secondary text-nowrap">'drawer:'</code></td>
<td data-mobile-label="Desc">Prefix to be used on custom events.</td>
</tr>
<tr>
<td data-mobile-label="Key"><code class="code text-nowrap">focus</code></td>
<td data-mobile-label="Default"><code class="code color-secondary text-nowrap">true</code></td>
Expand Down
106 changes: 48 additions & 58 deletions docs/dist/scripts.cjs.js
Expand Up @@ -197,8 +197,8 @@ var Drawer = function Drawer(options) {
stateClosing: 'is-closing',
stateClosed: 'is-closed',
classModal: 'drawer_modal',
customEventPrefix: 'drawer:',
breakpoints: breakpoints,
customEventPrefix: 'drawer:',
focus: true,
saveState: true,
saveKey: 'DrawerState'
Expand All @@ -208,7 +208,7 @@ var Drawer = function Drawer(options) {
api.state = {};

api.init = function () {
applyState();
setState();
breakpointInit();
document.addEventListener('click', run, false);
document.addEventListener('touchend', run, false);
Expand All @@ -232,46 +232,12 @@ var Drawer = function Drawer(options) {

api.open = function (drawerKey, callback) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
open(drawer, callback);
}
if (drawer) open(drawer, callback);
};

api.close = function (drawerKey, callback) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
close(drawer, callback);
}
};

api.breakpoint.init = function () {
breakpointInit();
};

api.breakpoint.destroy = function () {
breakpointDestroy();
};

api.breakpoint.check = function () {
breakpointCheck();
};

api.switchToModal = function (drawerKey) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
switchToModal(drawer);
}
};

api.switchToDefault = function (drawerKey) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
switchToDefault(drawer);
}
if (drawer) close(drawer, callback);
};

var run = function run(event) {
Expand Down Expand Up @@ -394,10 +360,10 @@ var Drawer = function Drawer(options) {
};

var saveState = function saveState() {
var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;

if (api.settings.saveState) {
var drawers = !target ? document.querySelectorAll("[data-".concat(api.settings.dataDrawer, "]")) : target.forEach ? target : [target];
var drawers = target ? [target] : document.querySelectorAll("[data-".concat(api.settings.dataDrawer, "]"));
drawers.forEach(function (el) {
if (!hasClass(el, api.settings.classModal)) {
api.state[el.dataset[camelCase(api.settings.dataDrawer)]] = hasClass(el, api.settings.stateOpened) ? api.settings.stateOpened : api.settings.stateClosed;
Expand All @@ -407,7 +373,7 @@ var Drawer = function Drawer(options) {
}
};

var applyState = function applyState() {
var setState = function setState() {
if (api.settings.saveState) {
if (localStorage.getItem(api.settings.saveKey)) {
api.state = JSON.parse(localStorage.getItem(api.settings.saveKey));
Expand All @@ -432,24 +398,50 @@ var Drawer = function Drawer(options) {
}
};

api.breakpoint.init = function () {
breakpointInit();
};

api.breakpoint.destroy = function () {
breakpointDestroy();
};

api.breakpoint.check = function () {
var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
breakpointCheck(event);
};

api.switchToModal = function (drawerKey) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
switchToModal(drawer);
}
};

api.switchToDefault = function (drawerKey) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
switchToDefault(drawer);
}
};

var breakpointInit = function breakpointInit() {
api.mediaQueryLists = [];
var drawers = document.querySelectorAll("[data-".concat(api.settings.dataBreakpoint, "]"));

if (drawers) {
drawers.forEach(function (drawer) {
var id = drawer.dataset[camelCase(api.settings.dataDrawer)];
var key = drawer.dataset[camelCase(api.settings.dataBreakpoint)];
var bp = api.settings.breakpoints[key] ? api.settings.breakpoints[key] : key;
var mql = window.matchMedia('(min-width:' + bp + ')');
breakpointMatch(mql, drawer);
mql.addListener(breakpointCheck);
api.mediaQueryLists.push({
'mql': mql,
'drawer': id
});
drawers.forEach(function (drawer) {
var id = drawer.dataset[camelCase(api.settings.dataDrawer)];
var key = drawer.dataset[camelCase(api.settings.dataBreakpoint)];
var bp = api.settings.breakpoints[key] ? api.settings.breakpoints[key] : key;
var mql = window.matchMedia('(min-width:' + bp + ')');
breakpointMatch(mql, drawer);
mql.addListener(breakpointCheck);
api.mediaQueryLists.push({
'mql': mql,
'drawer': id
});
}
});
};

var breakpointDestroy = function breakpointDestroy() {
Expand All @@ -462,9 +454,7 @@ var Drawer = function Drawer(options) {
api.mediaQueryLists = null;
};

var breakpointCheck = function breakpointCheck() {
var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;

var breakpointCheck = function breakpointCheck(event) {
if (api.mediaQueryLists && api.mediaQueryLists.length) {
api.mediaQueryLists.forEach(function (item) {
var filter = event ? event.media == item.mql.media : true;
Expand Down
106 changes: 48 additions & 58 deletions docs/dist/scripts.js
Expand Up @@ -198,8 +198,8 @@
stateClosing: 'is-closing',
stateClosed: 'is-closed',
classModal: 'drawer_modal',
customEventPrefix: 'drawer:',
breakpoints: breakpoints,
customEventPrefix: 'drawer:',
focus: true,
saveState: true,
saveKey: 'DrawerState'
Expand All @@ -209,7 +209,7 @@
api.state = {};

api.init = function () {
applyState();
setState();
breakpointInit();
document.addEventListener('click', run, false);
document.addEventListener('touchend', run, false);
Expand All @@ -233,46 +233,12 @@

api.open = function (drawerKey, callback) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
open(drawer, callback);
}
if (drawer) open(drawer, callback);
};

api.close = function (drawerKey, callback) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
close(drawer, callback);
}
};

api.breakpoint.init = function () {
breakpointInit();
};

api.breakpoint.destroy = function () {
breakpointDestroy();
};

api.breakpoint.check = function () {
breakpointCheck();
};

api.switchToModal = function (drawerKey) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
switchToModal(drawer);
}
};

api.switchToDefault = function (drawerKey) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
switchToDefault(drawer);
}
if (drawer) close(drawer, callback);
};

var run = function run(event) {
Expand Down Expand Up @@ -395,10 +361,10 @@
};

var saveState = function saveState() {
var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;

if (api.settings.saveState) {
var drawers = !target ? document.querySelectorAll("[data-".concat(api.settings.dataDrawer, "]")) : target.forEach ? target : [target];
var drawers = target ? [target] : document.querySelectorAll("[data-".concat(api.settings.dataDrawer, "]"));
drawers.forEach(function (el) {
if (!hasClass(el, api.settings.classModal)) {
api.state[el.dataset[camelCase(api.settings.dataDrawer)]] = hasClass(el, api.settings.stateOpened) ? api.settings.stateOpened : api.settings.stateClosed;
Expand All @@ -408,7 +374,7 @@
}
};

var applyState = function applyState() {
var setState = function setState() {
if (api.settings.saveState) {
if (localStorage.getItem(api.settings.saveKey)) {
api.state = JSON.parse(localStorage.getItem(api.settings.saveKey));
Expand All @@ -433,24 +399,50 @@
}
};

api.breakpoint.init = function () {
breakpointInit();
};

api.breakpoint.destroy = function () {
breakpointDestroy();
};

api.breakpoint.check = function () {
var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
breakpointCheck(event);
};

api.switchToModal = function (drawerKey) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
switchToModal(drawer);
}
};

api.switchToDefault = function (drawerKey) {
var drawer = document.querySelector("[data-".concat(api.settings.dataDrawer, "=\"").concat(drawerKey, "\"]"));

if (drawer) {
switchToDefault(drawer);
}
};

var breakpointInit = function breakpointInit() {
api.mediaQueryLists = [];
var drawers = document.querySelectorAll("[data-".concat(api.settings.dataBreakpoint, "]"));

if (drawers) {
drawers.forEach(function (drawer) {
var id = drawer.dataset[camelCase(api.settings.dataDrawer)];
var key = drawer.dataset[camelCase(api.settings.dataBreakpoint)];
var bp = api.settings.breakpoints[key] ? api.settings.breakpoints[key] : key;
var mql = window.matchMedia('(min-width:' + bp + ')');
breakpointMatch(mql, drawer);
mql.addListener(breakpointCheck);
api.mediaQueryLists.push({
'mql': mql,
'drawer': id
});
drawers.forEach(function (drawer) {
var id = drawer.dataset[camelCase(api.settings.dataDrawer)];
var key = drawer.dataset[camelCase(api.settings.dataBreakpoint)];
var bp = api.settings.breakpoints[key] ? api.settings.breakpoints[key] : key;
var mql = window.matchMedia('(min-width:' + bp + ')');
breakpointMatch(mql, drawer);
mql.addListener(breakpointCheck);
api.mediaQueryLists.push({
'mql': mql,
'drawer': id
});
}
});
};

var breakpointDestroy = function breakpointDestroy() {
Expand All @@ -463,9 +455,7 @@
api.mediaQueryLists = null;
};

var breakpointCheck = function breakpointCheck() {
var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;

var breakpointCheck = function breakpointCheck(event) {
if (api.mediaQueryLists && api.mediaQueryLists.length) {
api.mediaQueryLists.forEach(function (item) {
var filter = event ? event.media == item.mql.media : true;
Expand Down
2 changes: 1 addition & 1 deletion docs/dist/scripts.min.js

Large diffs are not rendered by default.