Add the option to filter element with more than one key to _doesPassF… (#143)

* Add the option to filter element with more than one key to _doesPassFilter the new option is this.options.filterMode and values Shuffle.filterMode.EXCLUSIVE or Shuffle.filterMode.ADDITIVE

* Package change for use with npm

* Error on package.json

* Merge branch 'master' of github.com:Vestride/Shuffle

* check travis errors
pull/149/head
David Gallego Varela 7 years ago committed by Glen Cheney
parent 4cecfa3f75
commit 8e769ce651

19
dist/shuffle.js vendored

@ -965,7 +965,11 @@ var Shuffle = function () {
var keys = this.options.delimeter ? attr.split(this.options.delimeter) : JSON.parse(attr);
if (Array.isArray(category)) {
return category.some(arrayIncludes(keys));
if (this.options.filterMode != Shuffle.filterMode.EXCLUSIVE) {
return category.every(arrayIncludes(keys));
} else {
return category.some(arrayIncludes(keys));
}
}
return arrayIncludes(keys, category);
@ -1918,6 +1922,14 @@ Shuffle.EventType = {
/** @enum {string} */
Shuffle.Classes = Classes;
/**
* @enum {string}
*/
Shuffle.filterMode = {
EXCLUSIVE: 'exclusive',
ADDITIVE: 'additive'
};
// Overrideable options
Shuffle.options = {
// Initial filter group.
@ -1974,7 +1986,10 @@ Shuffle.options = {
staggerAmountMax: 250,
// Whether to use transforms or absolute positioning.
useTransforms: true
useTransforms: true,
// Filters elements with "some" when 'exclusive' and with every on 'additive'
filterMode: Shuffle.filterMode.EXCLUSIVE
};
// Expose for testing. Hack at your own risk.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -239,6 +239,9 @@ class Shuffle {
JSON.parse(attr);
if (Array.isArray(category)) {
if (this.options.filterMode !== Shuffle.filterMode.EXCLUSIVE) {
return category.every(arrayIncludes(keys));
}
return category.some(arrayIncludes(keys));
}
@ -1029,6 +1032,14 @@ Shuffle.EventType = {
/** @enum {string} */
Shuffle.Classes = Classes;
/**
* @enum {string}
*/
Shuffle.filterMode = {
EXCLUSIVE: 'exclusive',
ADDITIVE: 'additive',
};
// Overrideable options
Shuffle.options = {
// Initial filter group.
@ -1086,6 +1097,9 @@ Shuffle.options = {
// Whether to use transforms or absolute positioning.
useTransforms: true,
// Filters elements with "some" when 'exclusive' and with every on 'additive'
filterMode: Shuffle.filterMode.EXCLUSIVE,
};
// Expose for testing. Hack at your own risk.

Loading…
Cancel
Save