1
0
mirror of https://github.com/Mayccoll/Gogh.git synced 2023-08-10 21:12:46 +03:00
Gogh/js/main.min.js
2017-05-19 12:42:56 -05:00

97 lines
3.9 KiB
JavaScript

jQuery(document).ready(function(t) {
new Clipboard('.btn-copy');
function e(e) {
var i = t([t(".cd-filter-trigger"), t(".cd-filter"), t(".cd-tab-filter"), t(".cd-gallery")]);
i.each(function() {
t(this).toggleClass("filter-is-visible", e)
})
}
function i() {
var e = t(".cd-main-content").offset().top,
i = t(window).scrollTop();
i >= e ? t(".cd-main-content").addClass("is-fixed") : t(".cd-main-content").removeClass("is-fixed")
}
t(".cd-filter-trigger").on("click", function() {
e(!0)
}), t(".cd-filter .cd-close").on("click", function() {
e(!1)
});
var n = t(".cd-tab-filter .placeholder a"),
a = "Select",
c = n.text();
t(".cd-tab-filter li").on("click", function(e) {
var i = t(e.target).data("type");
t(e.target).is(n) ? (n.text(a == n.text() ? c : a), t(".cd-tab-filter").toggleClass("is-open")) : n.data("type") == i ? (n.text(t(e.target).text()), t(".cd-tab-filter").removeClass("is-open")) : (t(".cd-tab-filter").removeClass("is-open"), n.text(t(e.target).text()).data("type", i), c = t(e.target).text(), t(".cd-tab-filter .selected").removeClass("selected"), t(e.target).addClass("selected"))
}), t(".cd-filter-block h4").on("click", function() {
t(this).toggleClass("closed").siblings(".cd-filter-content").slideToggle(300)
}), t(window).on("scroll", function() {
window.requestAnimationFrame ? window.requestAnimationFrame(i) : i()
}), buttonFilter.init(), t(".cd-gallery ul").mixItUp({
controls: {
enable: !1
},
callbacks: {
onMixStart: function() {
t(".cd-fail-message").fadeOut(200)
},
onMixFail: function() {
t(".cd-fail-message").fadeIn(200)
}
}
});
var r, l = t(),
o = function() {
var t = 0;
return function(e, i) {
clearTimeout(t), t = setTimeout(e, i)
}
}();
t(".cd-filter-content input[type='search']").keyup(function() {
o(function() {
r = t(".cd-filter-content input[type='search']").val().toLowerCase(), r.length > 0 ? (t(".mix").each(function() {
var e = t(this);
l = e.attr("class").toLowerCase().match(r) ? l.add(this) : l.not(this)
}), t(".cd-gallery ul").mixItUp("filter", l)) : t(".cd-gallery ul").mixItUp("filter", "all")
}, 200)
})
});
var buttonFilter = {
$filters: null,
groups: [],
outputArray: [],
outputString: "",
init: function() {
var t = this;
t.$filters = $(".cd-main-content"), t.$container = $(".cd-gallery ul"), t.$filters.find(".cd-filters").each(function() {
var e = $(this);
t.groups.push({
$inputs: e.find(".filter"),
active: "",
tracker: !1
})
}), t.bindHandlers()
},
bindHandlers: function() {
var t = this;
t.$filters.on("click", "a", function() {
t.parseFilters()
}), t.$filters.on("change", function() {
t.parseFilters()
})
},
parseFilters: function() {
for (var t, e = this, i = 0; t = e.groups[i]; i++) t.active = [], t.$inputs.each(function() {
var e = $(this);
e.is('input[type="radio"]') || e.is('input[type="checkbox"]') ? e.is(":checked") && t.active.push(e.attr("data-filter")) : e.is("select") ? t.active.push(e.val()) : e.find(".selected").length > 0 && t.active.push(e.attr("data-filter"))
});
e.concatenate()
},
concatenate: function() {
var t = this;
t.outputString = "";
for (var e, i = 0; e = t.groups[i]; i++) t.outputString += e.active;
!t.outputString.length && (t.outputString = "all"), t.$container.mixItUp("isLoaded") && t.$container.mixItUp("filter", t.outputString)
}
};