/* global mixitup */
var sandbox = document.querySelector('.sandbox');
var mixer = mixitup('#sandbox-1', {
animation: {
effects: 'fade',
easing: 'cubic-bezier(1, 0, 0, 1)',
duration: 400
},
controls: {
scope: 'global',
live: false
// toggleLogic: 'and'
},
pagination: {
limit: 4,
maxPagers: 6
},
load: {
// filter: 'none',
sort: 'random'
},
// dragndrop: {
// enable: true,
// hidePlaceholder: false,
// debounceDelay: 20,
// detection: 'collision',
// // liveSort: false
// // swap: true
// },
callbacks: {
// onMixLift: function() {
// console.log('lift', this);
// }
}
}, null);
console.log(mixer.getState());
sandbox.addEventListener('mixStart', function(e) {
console.log('mixStart', e.detail);
});
sandbox.addEventListener('mixEnd', function(e) {
console.log('mixEnd', e.detail);
});
sandbox.addEventListener('mixClick', function(e) {
console.log('mixClick', e.detail);
});
sandbox.addEventListener('mixBusy', function(e) {
console.log('mixBusy', e.detail);
});
sandbox.addEventListener('mixFail', function(e) {
console.log('mixFail', e.detail);
});
sandbox.classList.add('sandbox__mixitup');
document.querySelector('.js-append').addEventListener('click', function() {
mixer.append('
C 3
');
});
document.querySelector('.js-prepend').addEventListener('click', function() {
mixer.prepend('A 2
');
});
document.querySelector('.js-insert-at-index').addEventListener('click', function() {
mixer.insert(4, 'D 5
');
});
document.querySelector('.js-remove-via-element').addEventListener('click', function() {
var state = mixer.getState();
if (state.targets[0]) {
mixer.remove(state.targets[0]);
}
});
document.querySelector('.js-remove-via-index').addEventListener('click', function() {
mixer.remove(3);
});
document.querySelector('.js-insert-multiple-via-markup').addEventListener('click', function() {
mixer.prepend(
'D 1
' +
'D 2
' +
'D 3
'
);
});
document.querySelector('.js-insert-multiple-via-elements').addEventListener('click', function() {
var h = mixitup.h,
el1 = h.createElement('D 1
').children[0],
el2 = h.createElement('D 2
').children[0],
el3 = h.createElement('D 3
').children[0],
elements = [el1, el2, el3];
// Going into the mixer backwards?
mixer.multiMix({
insert: elements
});
});
document.querySelector('.js-api-filter').addEventListener('click', function() {
mixer.filter('.cat-2');
});
document.querySelector('.js-api-filter-compound').addEventListener('click', function() {
mixer.filter('.cat-2, .cat-3');
});
document.querySelector('.js-api-sort').addEventListener('click', function() {
mixer.sort('order:asc');
});
document.querySelector('.js-api-limit-3').addEventListener('click', function() {
mixer.paginate({limit: 3});
});
document.querySelector('.js-api-limit-inf').addEventListener('click', function() {
mixer.paginate({limit: Infinity});
});
document.querySelector('.js-api-limit-10').addEventListener('click', function() {
mixer.paginate({limit: 10});
});
var dataset = [{
id: '12',
category: '1'
}];
var dataMixer = mixitup('#sandbox-2', {
load: {
dataset: dataset
},
data: {
uidKey: 'id',
dirtyCheck: true
},
render: {
target: function(data) {
return ``;
}
}
});
dataset.push({
id: '14',
category: '2'
}, {
id: '2',
category: '3'
});
var first;
dataMixer.dataset(dataset)
.then(function() {
dataset.reverse();
return dataMixer.dataset(dataset);
})
.then(function() {
first = dataset.shift();
return dataMixer.dataset(dataset);
})
.then(function() {
dataset.push(first);
return dataMixer.dataset(dataset);
})
.then(function() {
dataset = [dataset[2], dataset[0]];
return dataMixer.dataset(dataset);
})
.then(function() {
dataset[1] = {
id: '14',
category: '4'
};
return dataMixer.dataset(dataset);
});