"use strict";
function _toConsumableArray(e) {
return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread()
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
}
function _unsupportedIterableToArray(e, r) {
if (e) {
if ("string" == typeof e)
return _arrayLikeToArray(e, r);
var t = Object.prototype.toString.call(e).slice(8, -1);
return "Object" === t && e.constructor && (t = e.constructor.name),
"Map" === t || "Set" === t ? Array.from(e) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(e, r) : void 0
}
}
function _iterableToArray(e) {
if ("undefined" != typeof Symbol && Symbol.iterator in Object(e))
return Array.from(e)
}
function _arrayWithoutHoles(e) {
if (Array.isArray(e))
return _arrayLikeToArray(e)
}
function _arrayLikeToArray(e, r) {
(null == r || r > e.length) && (r = e.length);
for (var t = 0, a = new Array(r); t < r; t++)
a[t] = e[t];
return a
}
!function (o) {
o.fn.CalypsoSearch = function (e) {
var r = o.extend({
searchInputSelector: "#querySearch",
searchBtnSelector: "#search-btn",
resultsSearchBox: ".search-results-container"
}, e)
, a = {
$searchQuery: o(r.searchInputSelector),
$searchBtn: o(r.searchBtnSelector),
$resulstBox: o(r.resultsSearchBox)
}
, n = {
init: function () {
t.searchEvent(),
t.searchEventClick(),
t.mouseUp(),
t.clearSearch()
},
formatItemResult: function (e) {
var r, t;
return null === e.thumbUrl ? (r = e.name.split("en "),
e.name = "Buscar en " + r[1] + "") : (t = e.thumbUrl.split("25-25"),
e.thumbUrl = t[0] + "40-40" + t[1]),
e
},
openBoxResults: function () {
a.$resulstBox.css({
display: "block"
}),
gsap.to(a.$resulstBox, {
duration: .3,
opacity: 1
})
},
closeBoxResults: function () {
gsap.to(a.$resulstBox, {
duration: .3,
opacity: 0
}),
setTimeout(function () {
a.$resulstBox.css({
display: "none"
})
}, 400)
},
fastSearch: function () {
0 !== a.$searchQuery.val().length && (document.location = '/%20' + a.$searchQuery.val())
},
searchProduct: function (e) {
13 === e.keyCode && n.fastSearch(),
0 === a.$searchQuery.val().length ? o(".calypso-search").removeClass("searching") : o(".calypso-search").addClass("searching"),
3 <= a.$searchQuery.val().length && o.ajax({
url: "/buscaautocomplete/",
data: {
maxRows: 6,
productNameContains: a.$searchQuery.val()
},
beforeSend: function () {
HeaderViewModel.resetSearchResults()
},
complete: function () {
n.openBoxResults()
},
success: function (e) {
var r = [{
href: "/tapiceria/" + a.$searchQuery.val(),
items: [],
name: 'Buscar "' + a.$searchQuery.val() + '"',
thumb: "",
thumbUrl: null
}]
, t = e.itemsReturned;
t.map(function (e) {
return n.formatItemResult(e)
}),
t = [].concat(r, _toConsumableArray(e.itemsReturned)),
HeaderViewModel.searchResults(t)
},
error: function (e) {
console.log(e)
}
})
}
}
, t = {
searchEvent: function () {
a.$searchQuery.keyup(n.searchProduct),
a.$searchQuery.click(n.openBoxResults)
},
clearSearch: function () {
o("#search-close-btn").click(function () {
n.closeBoxResults(),
a.$searchQuery.val(""),
o(".calypso-search").removeClass("searching")
})
},
searchEventClick: function () {
a.$searchBtn.click(n.fastSearch)
},
mouseUp: function () {
window.onmouseup = function (e) {
a.$resulstBox.is(e.target) || 0 !== a.$resulstBox.has(e.target).length || a.$searchQuery.is(e.target) || 0 !== a.$searchQuery.has(e.target).length || n.closeBoxResults()
}
}
};
n.init()
}
}(jQuery);