orionjs
Advanced tools
Comparing version 2.0.1 to 2.0.2
@@ -154,3 +154,3 @@ //-------------------------------------------------------------------------------------------------------------------------------------- | ||
// Loop through to assign out event listeners | ||
// Loop | ||
for(var b = 0; b < dataLength; b++) { | ||
@@ -249,45 +249,48 @@ | ||
initDataState = function(elem){ | ||
// Detect data-swipe attribute | ||
if(elem.getAttribute("data-state-swipe")){ | ||
// Grab swipe specific data | ||
var elemSwipe = elem.getAttribute("data-state-swipe"), | ||
elemSwipe = elemSwipe.split(", "), | ||
direction = elemSwipe[0], | ||
elemSwipeBool = elemSwipe[1], | ||
currentElem = elem; | ||
// Detect data-swipe attribute before we do anything, as its optional | ||
// If not present, assign click event like before | ||
if(elem.getAttribute("data-state-swipe")){ | ||
// Grab swipe specific data from data-state-swipe | ||
var elemSwipe = elem.getAttribute("data-state-swipe"), | ||
elemSwipe = elemSwipe.split(", "), | ||
direction = elemSwipe[0], | ||
elemSwipeBool = elemSwipe[1], | ||
currentElem = elem; | ||
if(elemSwipeBool === "false" || !elemSwipeBool) { | ||
// Assign click event | ||
elem.addEventListener("click", function(e){ | ||
// Prevent default action of element | ||
e.preventDefault(); | ||
// Run state function | ||
processChange(this); | ||
}); | ||
} | ||
swipeDetect(elem, function(swipedir){ | ||
if(swipedir === direction) { | ||
// Run state function | ||
processChange(currentElem); | ||
} | ||
}) | ||
} | ||
else { | ||
// Assign click event | ||
elem.addEventListener("click", function(e){ | ||
// Prevent default action of element | ||
e.preventDefault(); | ||
// Run state function | ||
processChange(this); | ||
}); | ||
} | ||
// Add keyboard event for enter key to mimic anchor functionality | ||
elem.addEventListener("keypress", function(e){ | ||
if(e.which === 13) { | ||
// Prevent default action of element | ||
e.preventDefault(); | ||
// Run state function | ||
processChange(this); | ||
} | ||
}); | ||
// If the behaviour flag is set to "false", or not set at all, then assign our click event | ||
if(elemSwipeBool === "false" || !elemSwipeBool) { | ||
// Assign click event | ||
elem.addEventListener("click", function(e){ | ||
// Prevent default action of element | ||
e.preventDefault(); | ||
// Run state function | ||
processChange(this); | ||
}); | ||
} | ||
// Use our swipeDetect helper function to determine if the swipe direction matches our desired direction | ||
swipeDetect(elem, function(swipedir){ | ||
if(swipedir === direction) { | ||
// Run state function | ||
processChange(currentElem); | ||
} | ||
}) | ||
} | ||
else { | ||
// Assign click event | ||
elem.addEventListener("click", function(e){ | ||
// Prevent default action of element | ||
e.preventDefault(); | ||
// Run state function | ||
processChange(this); | ||
}); | ||
} | ||
// Add keyboard event for enter key to mimic anchor functionality | ||
elem.addEventListener("keypress", function(e){ | ||
if(e.which === 13) { | ||
// Prevent default action of element | ||
e.preventDefault(); | ||
// Run state function | ||
processChange(this); | ||
} | ||
}); | ||
}; | ||
@@ -298,3 +301,3 @@ | ||
// Grab all elements with required data-attributes | ||
// Grab all elements with required attributes | ||
var elems = document.querySelectorAll("[data-state]"); | ||
@@ -301,0 +304,0 @@ |
@@ -32,6 +32,6 @@ //-------------------------------------------------------------------------------------------------------------------------------------- | ||
// Import modernizr | ||
require("../vendor/modernizr.js"); | ||
require("../vendor/modernizrClone.js"); | ||
module.exports = function(elem, event, details) { | ||
if(Modernizr.customevent) { | ||
if(ModernizrClone.customevent) { | ||
// Declare event | ||
@@ -38,0 +38,0 @@ var myEvent = new CustomEvent(event, {"bubbles":true, "cancelable":false,"detail":details}); |
{ | ||
"name": "orionjs", | ||
"version": "2.0.1", | ||
"version": "2.0.2", | ||
"author": "Luke Harrison", | ||
@@ -5,0 +5,0 @@ "description": "OrionJS is a simple collection of reusable functions to help streamline DOM manipulation in UI development.", |
34405
670