545
hesk/theme/hesk3/customer/js/app.js
Normal file
545
hesk/theme/hesk3/customer/js/app.js
Normal file
@@ -0,0 +1,545 @@
|
||||
/*eslint-disable */
|
||||
$(document).ready(function() {
|
||||
svg4everybody();
|
||||
|
||||
// button ripple
|
||||
//$('[ripple]').append('<div class="ripple--container"></div>');
|
||||
var cleanUp,
|
||||
debounce,
|
||||
i,
|
||||
len,
|
||||
ripple,
|
||||
rippleContainer,
|
||||
ripples,
|
||||
showRipple,
|
||||
outClose;
|
||||
|
||||
debounce = function(func, delay) {
|
||||
var inDebounce;
|
||||
inDebounce = undefined;
|
||||
return function() {
|
||||
var args, context;
|
||||
context = this;
|
||||
args = arguments;
|
||||
clearTimeout(inDebounce);
|
||||
return (inDebounce = setTimeout(function() {
|
||||
return func.apply(context, args);
|
||||
}, delay));
|
||||
};
|
||||
};
|
||||
|
||||
showRipple = function(e) {
|
||||
var pos, ripple, rippler, size, style, x, y;
|
||||
ripple = this;
|
||||
rippler = document.createElement("span");
|
||||
size = ripple.offsetWidth;
|
||||
pos = ripple.getBoundingClientRect();
|
||||
x = e.offsetX - size / 2;
|
||||
y = e.offsetY - size / 2;
|
||||
style =
|
||||
"top:" +
|
||||
y +
|
||||
"px; left: " +
|
||||
x +
|
||||
"px; height: " +
|
||||
size +
|
||||
"px; width: " +
|
||||
size +
|
||||
"px;";
|
||||
ripple.rippleContainer.appendChild(rippler);
|
||||
return rippler.setAttribute("style", style);
|
||||
};
|
||||
|
||||
cleanUp = function() {
|
||||
while (this.rippleContainer.firstChild) {
|
||||
this.rippleContainer.removeChild(this.rippleContainer.firstChild);
|
||||
}
|
||||
};
|
||||
|
||||
outClose = function(time) {
|
||||
time = time ? time : 150;
|
||||
// header notification
|
||||
$(".profile__item--notification")
|
||||
.removeClass("active")
|
||||
.find(".notification-list")
|
||||
.slideUp(time);
|
||||
|
||||
// profile menu
|
||||
$(".profile__user")
|
||||
.removeClass("active")
|
||||
.find(".profile__menu")
|
||||
.slideUp(time);
|
||||
|
||||
$(".dropdown, .dropdown-select").removeClass("active");
|
||||
$(".dropdown-list").slideUp(time, function() {
|
||||
$(this)
|
||||
.find(".assign--buttons")
|
||||
.show();
|
||||
$(this)
|
||||
.find(".assign--list")
|
||||
.hide();
|
||||
});
|
||||
$(".form__search_type").slideUp(150);
|
||||
$(".form__search_results").slideUp(150);
|
||||
};
|
||||
|
||||
dropdownSelectRender = function(el) {
|
||||
var select = $(el).find("select");
|
||||
var options = [];
|
||||
var value;
|
||||
select.find("option").each(function(i, el) {
|
||||
options.push({
|
||||
val: $(el).val(),
|
||||
text: $(el).text(),
|
||||
selected: $(el).is(":selected")
|
||||
});
|
||||
if ($(el).is(":selected")) {
|
||||
value = $(el).text();
|
||||
}
|
||||
});
|
||||
var template =
|
||||
'<div class="label"><span>' +
|
||||
value +
|
||||
'</span><svg class="icon icon-chevron-down"><use xlink:href="./img/sprite.svg#icon-chevron-down"></use></svg></div><ul class="dropdown-list">';
|
||||
for (var i in options) {
|
||||
if (options[i].selected) $(el).attr("data-value", options[i].val);
|
||||
template +=
|
||||
'<li data-option="' +
|
||||
options[i].val +
|
||||
'"' +
|
||||
(options[i].selected ? ' class="selected"' : "") +
|
||||
">" +
|
||||
options[i].text +
|
||||
"</li>";
|
||||
}
|
||||
template += "</ul></div>";
|
||||
$(el).append(template);
|
||||
};
|
||||
|
||||
ripples = document.querySelectorAll("[ripple]");
|
||||
|
||||
for (i = 0, len = ripples.length; i < len; i++) {
|
||||
ripple = ripples[i];
|
||||
rippleContainer = document.createElement("div");
|
||||
rippleContainer.className = "ripple--container";
|
||||
ripple.addEventListener("mousedown", showRipple);
|
||||
ripple.addEventListener("mouseup", debounce(cleanUp, 10000));
|
||||
ripple.rippleContainer = rippleContainer;
|
||||
ripple.appendChild(rippleContainer);
|
||||
}
|
||||
|
||||
$('.checkbox-custom input[type="checkbox"]').change(function(e) {
|
||||
if ($(e.target).is(":checked")) {
|
||||
$(e.target)
|
||||
.closest(".checkbox-custom")
|
||||
.addClass("checked");
|
||||
} else {
|
||||
$(e.target)
|
||||
.closest(".checkbox-custom")
|
||||
.removeClass("checked");
|
||||
}
|
||||
});
|
||||
|
||||
// Custom select
|
||||
var x, i, j, selElmnt, a, b, c;
|
||||
/*look for any elements with the class "select-custom":*/
|
||||
x = document.getElementsByClassName("select-custom");
|
||||
for (i = 0; i < x.length; i++) {
|
||||
selElmnt = x[i].getElementsByTagName("select")[0];
|
||||
/*for each element, create a new DIV that will act as the selected item:*/
|
||||
a = document.createElement("DIV");
|
||||
a.setAttribute("class", "select-selected");
|
||||
a.dataset.value = selElmnt[0].value;
|
||||
a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;
|
||||
x[i].insertBefore(a, selElmnt);
|
||||
// x[i].insertBefore(a, x[i].firstChild);
|
||||
|
||||
/*for each element, create a new DIV that will contain the option list:*/
|
||||
b = document.createElement("DIV");
|
||||
b.setAttribute("class", "select-items select-hide");
|
||||
for (j = 1; j < selElmnt.length; j++) {
|
||||
/*for each option in the original select element,
|
||||
create a new DIV that will act as an option item:*/
|
||||
c = document.createElement("DIV");
|
||||
c.innerHTML = selElmnt.options[j].innerHTML;
|
||||
c.addEventListener("click", function(e) {
|
||||
/*when an item is clicked, update the original select box,
|
||||
and the selected item:*/
|
||||
var y, i, k, s, h;
|
||||
s = this.parentNode.parentNode.getElementsByTagName("select")[0];
|
||||
h = this.parentNode.previousSibling;
|
||||
for (i = 0; i < s.length; i++) {
|
||||
if (s.options[i].innerHTML == this.innerHTML) {
|
||||
s.selectedIndex = i;
|
||||
h.innerHTML = this.innerHTML;
|
||||
y = this.parentNode.getElementsByClassName("same-as-selected");
|
||||
for (k = 0; k < y.length; k++) {
|
||||
y[k].removeAttribute("class");
|
||||
}
|
||||
this.setAttribute("class", "same-as-selected");
|
||||
h.dataset.value = s.options[i].getAttribute("value");
|
||||
break;
|
||||
}
|
||||
}
|
||||
h.click();
|
||||
});
|
||||
b.appendChild(c);
|
||||
}
|
||||
x[i].insertBefore(b, selElmnt);
|
||||
a.addEventListener("click", function(e) {
|
||||
/*when the select box is clicked, close any other select boxes,
|
||||
and open/close the current select box:*/
|
||||
e.stopPropagation();
|
||||
closeAllSelect(this);
|
||||
this.nextSibling.classList.toggle("select-hide");
|
||||
this.classList.toggle("select-arrow-active");
|
||||
});
|
||||
}
|
||||
|
||||
function closeAllSelect(elmnt) {
|
||||
/*a function that will close all select boxes in the document,
|
||||
except the current select box:*/
|
||||
var x,
|
||||
y,
|
||||
i,
|
||||
arrNo = [];
|
||||
x = document.getElementsByClassName("select-items");
|
||||
y = document.getElementsByClassName("select-selected");
|
||||
for (i = 0; i < y.length; i++) {
|
||||
if (elmnt == y[i]) {
|
||||
arrNo.push(i);
|
||||
} else {
|
||||
y[i].classList.remove("select-arrow-active");
|
||||
}
|
||||
}
|
||||
for (i = 0; i < x.length; i++) {
|
||||
if (arrNo.indexOf(i)) {
|
||||
x[i].classList.add("select-hide");
|
||||
}
|
||||
}
|
||||
|
||||
if (!$(elmnt.target).closest(".out-close").length) outClose();
|
||||
if ($(elmnt.target).closest(".dropdown").length) return;
|
||||
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
/*if the user clicks anywhere outside the select box, then close all select boxes:*/
|
||||
var documentClick = true;
|
||||
$(document).click(closeAllSelect);
|
||||
$(document).on("touchend", "body", function(e) {
|
||||
if (documentClick) {
|
||||
$(document).unbind("click");
|
||||
documentClick = false;
|
||||
}
|
||||
closeAllSelect(e);
|
||||
});
|
||||
|
||||
/* ===========================================================
|
||||
FORM VALIDATION
|
||||
============================================================*/
|
||||
$("#formNeedValidation").submit(function(e) {
|
||||
console.log("object");
|
||||
$(".form-group.required .form-control").each(function(index) {
|
||||
var value = $.trim($(this).val()).length;
|
||||
if (!value) {
|
||||
$(this)
|
||||
.closest(".form-group")
|
||||
.addClass("error");
|
||||
$(this)
|
||||
.closest(".form")
|
||||
.addClass("invalid");
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$("#formNeedValidation input").keyup(function(e) {
|
||||
if ($(e.target).val()) {
|
||||
$(e.target).css({ borderColor: "#d4d6e3" });
|
||||
$(e.target)
|
||||
.closest(".form-group")
|
||||
.removeClass("error");
|
||||
}
|
||||
});
|
||||
|
||||
/* ===========================================================
|
||||
Dropdown & dropdown selects
|
||||
============================================================*/
|
||||
|
||||
$(".dropdown-select").each(function(i, el) {
|
||||
dropdownSelectRender(el);
|
||||
});
|
||||
|
||||
$("body").on("click", ".dropdown > label", function(e) {
|
||||
if (
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown")
|
||||
.hasClass("active")
|
||||
) {
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown")
|
||||
.removeClass("active")
|
||||
.find(".dropdown-list")
|
||||
.slideUp(150);
|
||||
} else {
|
||||
$(".dropdown").removeClass("active");
|
||||
$(".dropdown-list").slideUp(150);
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown")
|
||||
.addClass("active")
|
||||
.find(".dropdown-list")
|
||||
.slideDown(150);
|
||||
}
|
||||
});
|
||||
$("body").on("click", ".dropdown-list > li", function(e) {
|
||||
if ($(e.currentTarget).hasClass("noclose")) return;
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown")
|
||||
.removeClass("active")
|
||||
.find(".dropdown-list")
|
||||
.slideUp(150);
|
||||
});
|
||||
$("body").on("click", ".dropdown-select .label", function(e) {
|
||||
if (
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-select")
|
||||
.hasClass("active")
|
||||
) {
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-select")
|
||||
.removeClass("active")
|
||||
.find(".dropdown-list")
|
||||
.slideUp(150);
|
||||
} else {
|
||||
$(".dropdown-select").removeClass("active");
|
||||
$(".dropdown-list").slideUp(150);
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-select")
|
||||
.addClass("active")
|
||||
.find(".dropdown-list")
|
||||
.slideDown(150);
|
||||
}
|
||||
});
|
||||
$("body").on("click", ".dropdown-list > li", function(e) {
|
||||
if ($(e.currentTarget).hasClass("noclose")) return;
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown")
|
||||
.removeClass("active")
|
||||
.find(".dropdown-list")
|
||||
.slideUp(150);
|
||||
});
|
||||
$("body").on("click", ".dropdown-select .dropdown-list li", function(e) {
|
||||
var text, value;
|
||||
value = $(e.currentTarget).attr("data-option");
|
||||
if (
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-select")
|
||||
.hasClass("submit-us")
|
||||
) {
|
||||
text = value.length
|
||||
? "Submit as " + $(e.currentTarget).text()
|
||||
: $(e.currentTarget).text();
|
||||
text =
|
||||
text
|
||||
.toLowerCase()
|
||||
.charAt(0)
|
||||
.toUpperCase() + text.toLowerCase().substr(1);
|
||||
} else {
|
||||
text = $(e.currentTarget).text();
|
||||
}
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-list")
|
||||
.find("li")
|
||||
.removeClass("selected");
|
||||
$(e.currentTarget).addClass("selected");
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-select")
|
||||
.attr("data-value", value)
|
||||
.find(".label span")
|
||||
.text(text);
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-select")
|
||||
.removeClass("active");
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-list")
|
||||
.slideUp(150);
|
||||
$(e.currentTarget)
|
||||
.closest(".dropdown-select")
|
||||
.find('select option[value="' + value + '"]')
|
||||
.prop("selected", true);
|
||||
$(e.currentTarget).closest('.dropdown-select').find('select').trigger('change');
|
||||
});
|
||||
|
||||
// End Dropdown & dropdown selects
|
||||
|
||||
/* ===========================================================
|
||||
Ticket details
|
||||
============================================================*/
|
||||
$(".ticket__replies_link").click(function(e) {
|
||||
if ($(e.currentTarget).hasClass("visible")) {
|
||||
$(e.currentTarget).removeClass("visible");
|
||||
$(".ticket__replies_list").slideUp(150);
|
||||
} else {
|
||||
$(".ticket__replies_list").slideDown(150);
|
||||
$(e.currentTarget).addClass("visible");
|
||||
}
|
||||
});
|
||||
|
||||
// Ticket upload file
|
||||
var ticketFiles = [];
|
||||
$('.block--attach input[type="file"]').change(function(e) {
|
||||
for (i = 0; i < e.target.files.length; i++) {
|
||||
ticketFiles.push(e.target.files[i]);
|
||||
var extension =
|
||||
"." +
|
||||
e.target.files[i].name.split(".")[
|
||||
e.target.files[i].name.split(".").length - 1
|
||||
];
|
||||
var name = "";
|
||||
for (n = 0; n < e.target.files[i].name.split(".").length; n++) {
|
||||
if (n < e.target.files[i].name.split(".").length - 1) {
|
||||
name += e.target.files[i].name.split(".")[n];
|
||||
}
|
||||
}
|
||||
if (name.length > 16)
|
||||
name =
|
||||
name.slice(0, 10) + "..." + name.slice(name.length - 8, name.length);
|
||||
var label =
|
||||
"<div><span>" +
|
||||
name +
|
||||
extension +
|
||||
'</span><i><svg class="icon icon-close"><use xlink:href="./img/sprite.svg#icon-close"></use></svg></i></div>';
|
||||
$(".block--attach-list").append(label);
|
||||
$(".block--attach-list div").each(function(i, el) {
|
||||
$(el).attr("data-i", i);
|
||||
});
|
||||
}
|
||||
});
|
||||
$("body").on("click", ".block--attach-list div i", function(e) {
|
||||
var i = Number(
|
||||
$(e.target)
|
||||
.closest("div")
|
||||
.attr("data-i")
|
||||
);
|
||||
ticketFiles.splice(i, 1);
|
||||
$(e.currentTarget)
|
||||
.closest("div")
|
||||
.slideUp(150, function() {
|
||||
$(e.currentTarget)
|
||||
.closest("div")
|
||||
.remove();
|
||||
$(".block--attach-list div").each(function(i, el) {
|
||||
$(el).attr("data-i", i);
|
||||
});
|
||||
});
|
||||
console.log(ticketFiles);
|
||||
});
|
||||
|
||||
$(".accordion-title").click(function(e) {
|
||||
if (
|
||||
$(e.currentTarget)
|
||||
.closest(".accordion")
|
||||
.hasClass("visible")
|
||||
) {
|
||||
$(e.currentTarget)
|
||||
.closest(".accordion")
|
||||
.find(".accordion-body")
|
||||
.slideUp(150);
|
||||
$(e.currentTarget)
|
||||
.closest(".accordion")
|
||||
.removeClass("visible");
|
||||
} else {
|
||||
$(e.currentTarget)
|
||||
.closest(".accordion")
|
||||
.find(".accordion-body")
|
||||
.slideDown(150);
|
||||
$(e.currentTarget)
|
||||
.closest(".accordion")
|
||||
.addClass("visible");
|
||||
}
|
||||
});
|
||||
|
||||
/* ===========================================================
|
||||
Create ticket
|
||||
============================================================*/
|
||||
$(".datepicker").datepicker({
|
||||
language: "en",
|
||||
position: "right bottom",
|
||||
autoClose: true,
|
||||
onSelect: function(formattedDate, date, inst) {
|
||||
if (formattedDate.length) {
|
||||
inst.$el
|
||||
.parent()
|
||||
.parent()
|
||||
.find('.calendar--value').fadeIn(150).find('span').text(formattedDate);
|
||||
}
|
||||
},
|
||||
onHide: function(inst, animationCompleted) {
|
||||
$(".ticket-create .param.calendar button").removeClass("active");
|
||||
}
|
||||
});
|
||||
$(".ticket-create .param.calendar button").click(function(e) {
|
||||
$(this).addClass("active");
|
||||
$(this).parent().find('.datepicker')
|
||||
.data("datepicker")
|
||||
.show();
|
||||
});
|
||||
$(".ticket-create .param.calendar .close").click(function(e) {
|
||||
$(this).parent().parent()
|
||||
.find('.calendar--button')
|
||||
.find('.datepicker')
|
||||
.data("datepicker")
|
||||
.clear();
|
||||
$(".ticket-create .param.calendar .calendar--value").fadeOut(
|
||||
150,
|
||||
function() {
|
||||
$(this)
|
||||
.find("span")
|
||||
.text("");
|
||||
}
|
||||
);
|
||||
});
|
||||
$('[data-action="create-ticket"]').click(function(e) {
|
||||
$("body").addClass("noscroll");
|
||||
$(".right-bar.ticket-create").fadeIn(150);
|
||||
});
|
||||
|
||||
/* ===========================================================
|
||||
Tooltyps
|
||||
============================================================*/
|
||||
$("body").on("mouseenter", ".tooltype", function(e) {
|
||||
$(this)
|
||||
.find(".tooltype__content")
|
||||
.fadeIn(150);
|
||||
});
|
||||
$("body").on("mouseleave", ".tooltype", function(e) {
|
||||
$(this)
|
||||
.find(".tooltype__content")
|
||||
.fadeOut(150);
|
||||
});
|
||||
/* ===========================================================
|
||||
start Customer help
|
||||
============================================================*/
|
||||
$(".tabbed__head_tabs li").click(function(e) {
|
||||
var target = $(this).attr("data-link");
|
||||
$(".tabbed__head_tabs li").removeClass("current");
|
||||
$(this).addClass("current");
|
||||
$(".tabbed__tabs .tabbed__tabs_tab").removeClass("is-visible");
|
||||
$(".tabbed__tabs [data-tab=" + target + "]").addClass("is-visible");
|
||||
});
|
||||
$(".btn-toggler").click(function(e) {
|
||||
$(this)
|
||||
.closest(".params--block")
|
||||
.find(".accordion-body")
|
||||
.slideToggle();
|
||||
$(this).toggleClass("is-opened");
|
||||
});
|
||||
|
||||
// Never allow typing in dropdowns
|
||||
$('.selectize-input input').prop('disabled', 'disabled');
|
||||
});
|
||||
|
||||
window.onload = function() {
|
||||
$("#loader").fadeOut(150);
|
||||
};
|
||||
14
hesk/theme/hesk3/customer/js/app.min.js
vendored
Normal file
14
hesk/theme/hesk3/customer/js/app.min.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
$(document).ready(function(){svg4everybody();var cleanUp,debounce,i,len,ripple,rippleContainer,ripples,showRipple,outClose;debounce=function(func,delay){var inDebounce;inDebounce=undefined;return function(){var args,context;context=this;args=arguments;clearTimeout(inDebounce);return(inDebounce=setTimeout(function(){return func.apply(context,args)},delay))}};showRipple=function(e){var pos,ripple,rippler,size,style,x,y;ripple=this;rippler=document.createElement("span");size=ripple.offsetWidth;pos=ripple.getBoundingClientRect();x=e.offsetX-size/2;y=e.offsetY-size/2;style="top:"+y+"px; left: "+x+"px; height: "+size+"px; width: "+size+"px;";ripple.rippleContainer.appendChild(rippler);return rippler.setAttribute("style",style)};cleanUp=function(){while(this.rippleContainer.firstChild){this.rippleContainer.removeChild(this.rippleContainer.firstChild)}};outClose=function(time){time=time?time:150;$(".profile__item--notification").removeClass("active").find(".notification-list").slideUp(time);$(".profile__user").removeClass("active").find(".profile__menu").slideUp(time);$(".dropdown, .dropdown-select").removeClass("active");$(".dropdown-list").slideUp(time,function(){$(this).find(".assign--buttons").show();$(this).find(".assign--list").hide()});$(".form__search_type").slideUp(150);$(".form__search_results").slideUp(150)};dropdownSelectRender=function(el){var select=$(el).find("select");var options=[];var value;select.find("option").each(function(i,el){options.push({val:$(el).val(),text:$(el).text(),selected:$(el).is(":selected")});if($(el).is(":selected")){value=$(el).text()}});var template='<div class="label"><span>'+value+'</span><svg class="icon icon-chevron-down"><use xlink:href="./img/sprite.svg#icon-chevron-down"></use></svg></div><ul class="dropdown-list">';for(var i in options){if(options[i].selected)$(el).attr("data-value",options[i].val);template+='<li data-option="'+options[i].val+'"'+(options[i].selected?' class="selected"':"")+">"+options[i].text+"</li>"}
|
||||
template+="</ul></div>";$(el).append(template)};ripples=document.querySelectorAll("[ripple]");for(i=0,len=ripples.length;i<len;i++){ripple=ripples[i];rippleContainer=document.createElement("div");rippleContainer.className="ripple--container";ripple.addEventListener("mousedown",showRipple);ripple.addEventListener("mouseup",debounce(cleanUp,10000));ripple.rippleContainer=rippleContainer;ripple.appendChild(rippleContainer)}
|
||||
$('.checkbox-custom input[type="checkbox"]').change(function(e){if($(e.target).is(":checked")){$(e.target).closest(".checkbox-custom").addClass("checked")}else{$(e.target).closest(".checkbox-custom").removeClass("checked")}});var x,i,j,selElmnt,a,b,c;x=document.getElementsByClassName("select-custom");for(i=0;i<x.length;i++){selElmnt=x[i].getElementsByTagName("select")[0];a=document.createElement("DIV");a.setAttribute("class","select-selected");a.dataset.value=selElmnt[0].value;a.innerHTML=selElmnt.options[selElmnt.selectedIndex].innerHTML;x[i].insertBefore(a,selElmnt);b=document.createElement("DIV");b.setAttribute("class","select-items select-hide");for(j=1;j<selElmnt.length;j++){c=document.createElement("DIV");c.innerHTML=selElmnt.options[j].innerHTML;c.addEventListener("click",function(e){var y,i,k,s,h;s=this.parentNode.parentNode.getElementsByTagName("select")[0];h=this.parentNode.previousSibling;for(i=0;i<s.length;i++){if(s.options[i].innerHTML==this.innerHTML){s.selectedIndex=i;h.innerHTML=this.innerHTML;y=this.parentNode.getElementsByClassName("same-as-selected");for(k=0;k<y.length;k++){y[k].removeAttribute("class")}
|
||||
this.setAttribute("class","same-as-selected");h.dataset.value=s.options[i].getAttribute("value");break}}
|
||||
h.click()});b.appendChild(c)}
|
||||
x[i].insertBefore(b,selElmnt);a.addEventListener("click",function(e){e.stopPropagation();closeAllSelect(this);this.nextSibling.classList.toggle("select-hide");this.classList.toggle("select-arrow-active")})}
|
||||
function closeAllSelect(elmnt){var x,y,i,arrNo=[];x=document.getElementsByClassName("select-items");y=document.getElementsByClassName("select-selected");for(i=0;i<y.length;i++){if(elmnt==y[i]){arrNo.push(i)}else{y[i].classList.remove("select-arrow-active")}}
|
||||
for(i=0;i<x.length;i++){if(arrNo.indexOf(i)){x[i].classList.add("select-hide")}}
|
||||
if(!$(elmnt.target).closest(".out-close").length)outClose();if($(elmnt.target).closest(".dropdown").length)return;event.stopPropagation()}
|
||||
var documentClick=!0;$(document).click(closeAllSelect);$(document).on("touchend","body",function(e){if(documentClick){$(document).unbind("click");documentClick=!1}
|
||||
closeAllSelect(e)});$("#formNeedValidation").submit(function(e){console.log("object");$(".form-group.required .form-control").each(function(index){var value=$.trim($(this).val()).length;if(!value){$(this).closest(".form-group").addClass("error");$(this).closest(".form").addClass("invalid");e.preventDefault()}})});$("#formNeedValidation input").keyup(function(e){if($(e.target).val()){$(e.target).css({borderColor:"#d4d6e3"});$(e.target).closest(".form-group").removeClass("error")}});$(".dropdown-select").each(function(i,el){dropdownSelectRender(el)});$("body").on("click",".dropdown > label",function(e){if($(e.currentTarget).closest(".dropdown").hasClass("active")){$(e.currentTarget).closest(".dropdown").removeClass("active").find(".dropdown-list").slideUp(150)}else{$(".dropdown").removeClass("active");$(".dropdown-list").slideUp(150);$(e.currentTarget).closest(".dropdown").addClass("active").find(".dropdown-list").slideDown(150)}});$("body").on("click",".dropdown-list > li",function(e){if($(e.currentTarget).hasClass("noclose"))return;$(e.currentTarget).closest(".dropdown").removeClass("active").find(".dropdown-list").slideUp(150)});$("body").on("click",".dropdown-select .label",function(e){if($(e.currentTarget).closest(".dropdown-select").hasClass("active")){$(e.currentTarget).closest(".dropdown-select").removeClass("active").find(".dropdown-list").slideUp(150)}else{$(".dropdown-select").removeClass("active");$(".dropdown-list").slideUp(150);$(e.currentTarget).closest(".dropdown-select").addClass("active").find(".dropdown-list").slideDown(150)}});$("body").on("click",".dropdown-list > li",function(e){if($(e.currentTarget).hasClass("noclose"))return;$(e.currentTarget).closest(".dropdown").removeClass("active").find(".dropdown-list").slideUp(150)});$("body").on("click",".dropdown-select .dropdown-list li",function(e){var text,value;value=$(e.currentTarget).attr("data-option");if($(e.currentTarget).closest(".dropdown-select").hasClass("submit-us")){text=value.length?"Submit as "+$(e.currentTarget).text():$(e.currentTarget).text();text=text.toLowerCase().charAt(0).toUpperCase()+text.toLowerCase().substr(1)}else{text=$(e.currentTarget).text()}
|
||||
$(e.currentTarget).closest(".dropdown-list").find("li").removeClass("selected");$(e.currentTarget).addClass("selected");$(e.currentTarget).closest(".dropdown-select").attr("data-value",value).find(".label span").text(text);$(e.currentTarget).closest(".dropdown-select").removeClass("active");$(e.currentTarget).closest(".dropdown-list").slideUp(150);$(e.currentTarget).closest(".dropdown-select").find('select option[value="'+value+'"]').prop("selected",!0);$(e.currentTarget).closest('.dropdown-select').find('select').trigger('change')});$(".ticket__replies_link").click(function(e){if($(e.currentTarget).hasClass("visible")){$(e.currentTarget).removeClass("visible");$(".ticket__replies_list").slideUp(150)}else{$(".ticket__replies_list").slideDown(150);$(e.currentTarget).addClass("visible")}});var ticketFiles=[];$('.block--attach input[type="file"]').change(function(e){for(i=0;i<e.target.files.length;i++){ticketFiles.push(e.target.files[i]);var extension="."+e.target.files[i].name.split(".")[e.target.files[i].name.split(".").length-1];var name="";for(n=0;n<e.target.files[i].name.split(".").length;n++){if(n<e.target.files[i].name.split(".").length-1){name+=e.target.files[i].name.split(".")[n]}}
|
||||
if(name.length>16)
|
||||
name=name.slice(0,10)+"..."+name.slice(name.length-8,name.length);var label="<div><span>"+name+extension+'</span><i><svg class="icon icon-close"><use xlink:href="./img/sprite.svg#icon-close"></use></svg></i></div>';$(".block--attach-list").append(label);$(".block--attach-list div").each(function(i,el){$(el).attr("data-i",i)})}});$("body").on("click",".block--attach-list div i",function(e){var i=Number($(e.target).closest("div").attr("data-i"));ticketFiles.splice(i,1);$(e.currentTarget).closest("div").slideUp(150,function(){$(e.currentTarget).closest("div").remove();$(".block--attach-list div").each(function(i,el){$(el).attr("data-i",i)})});console.log(ticketFiles)});$(".accordion-title").click(function(e){if($(e.currentTarget).closest(".accordion").hasClass("visible")){$(e.currentTarget).closest(".accordion").find(".accordion-body").slideUp(150);$(e.currentTarget).closest(".accordion").removeClass("visible")}else{$(e.currentTarget).closest(".accordion").find(".accordion-body").slideDown(150);$(e.currentTarget).closest(".accordion").addClass("visible")}});$(".datepicker").datepicker({language:"en",position:"right bottom",autoClose:!0,onSelect:function(formattedDate,date,inst){if(formattedDate.length){inst.$el.parent().parent().find('.calendar--value').fadeIn(150).find('span').text(formattedDate)}},onHide:function(inst,animationCompleted){$(".ticket-create .param.calendar button").removeClass("active")}});$(".ticket-create .param.calendar button").click(function(e){$(this).addClass("active");$(this).parent().find('.datepicker').data("datepicker").show()});$(".ticket-create .param.calendar .close").click(function(e){$(this).parent().parent().find('.calendar--button').find('.datepicker').data("datepicker").clear();$(".ticket-create .param.calendar .calendar--value").fadeOut(150,function(){$(this).find("span").text("")})});$('[data-action="create-ticket"]').click(function(e){$("body").addClass("noscroll");$(".right-bar.ticket-create").fadeIn(150)});$("body").on("mouseenter",".tooltype",function(e){$(this).find(".tooltype__content").fadeIn(150)});$("body").on("mouseleave",".tooltype",function(e){$(this).find(".tooltype__content").fadeOut(150)});$(".tabbed__head_tabs li").click(function(e){var target=$(this).attr("data-link");$(".tabbed__head_tabs li").removeClass("current");$(this).addClass("current");$(".tabbed__tabs .tabbed__tabs_tab").removeClass("is-visible");$(".tabbed__tabs [data-tab="+target+"]").addClass("is-visible")});$(".btn-toggler").click(function(e){$(this).closest(".params--block").find(".accordion-body").slideToggle();$(this).toggleClass("is-opened")});$('.selectize-input input').prop('disabled','disabled')});window.onload=function(){$("#loader").fadeOut(150)}
|
||||
13
hesk/theme/hesk3/customer/js/datepicker.en.js
Normal file
13
hesk/theme/hesk3/customer/js/datepicker.en.js
Normal file
@@ -0,0 +1,13 @@
|
||||
;(function ($) { $.fn.datepicker.language['en'] = {
|
||||
days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
|
||||
daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
||||
daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
|
||||
months: ['January','February','March','April','May','June', 'July','August','September','October','November','December'],
|
||||
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
||||
today: 'Today',
|
||||
clear: 'Clear',
|
||||
dateFormat: 'mm/dd/yyyy',
|
||||
timeFormat: 'hh:ii aa',
|
||||
firstDay: 1
|
||||
}; })(jQuery);
|
||||
//# sourceMappingURL=datepicker.en.js.map
|
||||
3
hesk/theme/hesk3/customer/js/datepicker.min.js
vendored
Normal file
3
hesk/theme/hesk3/customer/js/datepicker.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
165
hesk/theme/hesk3/customer/js/hesk_functions.js
Normal file
165
hesk/theme/hesk3/customer/js/hesk_functions.js
Normal file
@@ -0,0 +1,165 @@
|
||||
var HESK_FUNCTIONS;
|
||||
if (!HESK_FUNCTIONS) {
|
||||
HESK_FUNCTIONS = {};
|
||||
}
|
||||
|
||||
var heskKBfailed = false;
|
||||
var heskKBquery = '';
|
||||
HESK_FUNCTIONS.getKbSearchSuggestions = function($input, callback) {
|
||||
var d = document.form1;
|
||||
var s = $input.val();
|
||||
|
||||
if (s !== '' && (heskKBquery !== s || heskKBfailed === true) )
|
||||
{
|
||||
var params = "q=" + encodeURIComponent(s);
|
||||
heskKBquery = s;
|
||||
|
||||
$.ajax({
|
||||
url: 'suggest_articles.php',
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
data: params,
|
||||
success: function(data) {
|
||||
heskKBfailed = false;
|
||||
callback(data);
|
||||
},
|
||||
error: function(jqXHR, status, err) {
|
||||
console.error(err);
|
||||
heskKBfailed = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
setTimeout(function() { HESK_FUNCTIONS.getKbSearchSuggestions($input, callback); }, 2000);
|
||||
};
|
||||
|
||||
HESK_FUNCTIONS.getKbTicketSuggestions = function($subject, $message, callback) {
|
||||
var d = document.form1;
|
||||
var s = $subject.val();
|
||||
var m = $message.val();
|
||||
var query = s + " " + m;
|
||||
|
||||
if (s !== '' && m !== '' && (heskKBquery !== query || heskKBfailed === true) )
|
||||
{
|
||||
var params = "q=" + encodeURIComponent(query);
|
||||
heskKBquery = query;
|
||||
|
||||
$.ajax({
|
||||
url: 'suggest_articles.php',
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
data: params,
|
||||
success: function(data) {
|
||||
heskKBfailed = false;
|
||||
callback(data);
|
||||
},
|
||||
error: function(jqXHR, status, err) {
|
||||
console.error(err);
|
||||
heskKBfailed = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
setTimeout(function() { HESK_FUNCTIONS.getKbTicketSuggestions($subject, $message, callback); }, 2000);
|
||||
};
|
||||
|
||||
HESK_FUNCTIONS.openWindow = function(PAGE,HGT,WDT) {
|
||||
var heskWin = window.open(PAGE,"Hesk_window","height="+HGT+",width="+WDT+",menubar=0,location=0,toolbar=0,status=0,resizable=1,scrollbars=1");
|
||||
heskWin.focus();
|
||||
};
|
||||
|
||||
HESK_FUNCTIONS.suggestEmail = function(emailField, displayDiv, isAdmin, allowMultiple) {
|
||||
var email = document.getElementById(emailField).value;
|
||||
var element = document.getElementById(displayDiv);
|
||||
var path = isAdmin ? '../suggest_email.php' : 'suggest_email.php';
|
||||
|
||||
if (email !== '') {
|
||||
var params = "e=" + encodeURIComponent(email) + "&ef=" + encodeURIComponent(emailField) + "&dd=" + encodeURIComponent(displayDiv);
|
||||
|
||||
if (allowMultiple) {
|
||||
params += "&am=1";
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
{0}: Div ID
|
||||
{1}: Suggestion message (i.e. "Did you mean hesk@example.com?")
|
||||
{2}: Original email
|
||||
{3}: Suggested email (pre-escaped)
|
||||
{4}: "Yes, fix it"
|
||||
{5}: "No, leave it"
|
||||
*/
|
||||
var responseFormat =
|
||||
'<div class="alert warning" id="{0}" style="display: block">' +
|
||||
'<div class="alert__inner">' +
|
||||
'<p>' +
|
||||
'<p>{1}</p>' +
|
||||
'<a class="link" href="javascript:" onclick="HESK_FUNCTIONS.applyEmailSuggestion(\'{0}\', \'' + emailField + '\', \'{2}\', \'{3}\')">' +
|
||||
'{4}' +
|
||||
'</a> | ' +
|
||||
'<a class="link" href="javascript:void(0);" onclick="document.getElementById(\'{0}\').style.display=\'none\';">' +
|
||||
'{5}' +
|
||||
'</a>' +
|
||||
'</p>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
|
||||
$.ajax({
|
||||
url: path,
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded',
|
||||
data: params,
|
||||
success: function(data) {
|
||||
var $displayDiv = $('#' + displayDiv);
|
||||
$displayDiv.html('');
|
||||
if (!data.length) {
|
||||
$displayDiv.hide();
|
||||
} else {
|
||||
$displayDiv.show();
|
||||
}
|
||||
$.each(data, function() {
|
||||
$displayDiv.append(responseFormat
|
||||
.replace(/\{0}/g, this.id)
|
||||
.replace(/\{1}/g, this.suggestText)
|
||||
.replace(/\{2}/g, this.originalAddress)
|
||||
.replace(/\{3}/g, this.formattedSuggestedEmail)
|
||||
.replace(/\{4}/g, this.yesResponseText)
|
||||
.replace(/\{5}/g, this.noResponseText));
|
||||
});
|
||||
},
|
||||
error: function(jqXHR, status, err) {
|
||||
console.error(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
HESK_FUNCTIONS.applyEmailSuggestion = function(emailTypoId, emailField, originalEmail, formattedSuggestedEmail) {
|
||||
var eml = document.getElementById(emailField).value;
|
||||
var regex = new RegExp(originalEmail, "gi");
|
||||
document.getElementById(emailField).value = eml.replace(regex, formattedSuggestedEmail);
|
||||
document.getElementById(emailTypoId).style.display = 'none';
|
||||
};
|
||||
|
||||
HESK_FUNCTIONS.rate = function(url, elementId) {
|
||||
if (url.length === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var element = document.getElementById(elementId);
|
||||
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: 'GET',
|
||||
dataType: 'text',
|
||||
success: function(resp) {
|
||||
element.innerHTML = resp;
|
||||
},
|
||||
error: function(jqXHR, statusText, err) {
|
||||
console.error(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
9
hesk/theme/hesk3/customer/js/hesk_functions.min.js
vendored
Normal file
9
hesk/theme/hesk3/customer/js/hesk_functions.min.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
var HESK_FUNCTIONS;if(!HESK_FUNCTIONS){HESK_FUNCTIONS={}}
|
||||
var heskKBfailed=!1;var heskKBquery='';HESK_FUNCTIONS.getKbSearchSuggestions=function($input,callback){var d=document.form1;var s=$input.val();if(s!==''&&(heskKBquery!==s||heskKBfailed===!0))
|
||||
{var params="q="+encodeURIComponent(s);heskKBquery=s;$.ajax({url:'suggest_articles.php',method:'POST',dataType:'json',contentType:'application/x-www-form-urlencoded',data:params,success:function(data){heskKBfailed=!1;callback(data)},error:function(jqXHR,status,err){console.error(err);heskKBfailed=!0}})}
|
||||
setTimeout(function(){HESK_FUNCTIONS.getKbSearchSuggestions($input,callback)},2000)};HESK_FUNCTIONS.getKbTicketSuggestions=function($subject,$message,callback){var d=document.form1;var s=$subject.val();var m=$message.val();var query=s+" "+m;if(s!==''&&m!==''&&(heskKBquery!==query||heskKBfailed===!0))
|
||||
{var params="q="+encodeURIComponent(query);heskKBquery=query;$.ajax({url:'suggest_articles.php',method:'POST',dataType:'json',contentType:'application/x-www-form-urlencoded',data:params,success:function(data){heskKBfailed=!1;callback(data)},error:function(jqXHR,status,err){console.error(err);heskKBfailed=!0}})}
|
||||
setTimeout(function(){HESK_FUNCTIONS.getKbTicketSuggestions($subject,$message,callback)},2000)};HESK_FUNCTIONS.openWindow=function(PAGE,HGT,WDT){var heskWin=window.open(PAGE,"Hesk_window","height="+HGT+",width="+WDT+",menubar=0,location=0,toolbar=0,status=0,resizable=1,scrollbars=1");heskWin.focus()};HESK_FUNCTIONS.suggestEmail=function(emailField,displayDiv,isAdmin,allowMultiple){var email=document.getElementById(emailField).value;var element=document.getElementById(displayDiv);var path=isAdmin?'../suggest_email.php':'suggest_email.php';if(email!==''){var params="e="+encodeURIComponent(email)+"&ef="+encodeURIComponent(emailField)+"&dd="+encodeURIComponent(displayDiv);if(allowMultiple){params+="&am=1"}
|
||||
var responseFormat='<div class="alert warning" id="{0}" style="display: block">'+'<div class="alert__inner">'+'<p>'+'<p>{1}</p>'+'<a class="link" href="javascript:" onclick="HESK_FUNCTIONS.applyEmailSuggestion(\'{0}\', \''+emailField+'\', \'{2}\', \'{3}\')">'+'{4}'+'</a> | '+'<a class="link" href="javascript:void(0);" onclick="document.getElementById(\'{0}\').style.display=\'none\';">'+'{5}'+'</a>'+'</p>'+'</div>'+'</div>';$.ajax({url:path,method:'POST',dataType:'json',contentType:'application/x-www-form-urlencoded',data:params,success:function(data){var $displayDiv=$('#'+displayDiv);$displayDiv.html('');if(!data.length){$displayDiv.hide()}else{$displayDiv.show()}
|
||||
$.each(data,function(){$displayDiv.append(responseFormat.replace(/\{0}/g,this.id).replace(/\{1}/g,this.suggestText).replace(/\{2}/g,this.originalAddress).replace(/\{3}/g,this.formattedSuggestedEmail).replace(/\{4}/g,this.yesResponseText).replace(/\{5}/g,this.noResponseText))})},error:function(jqXHR,status,err){console.error(err)}})}};HESK_FUNCTIONS.applyEmailSuggestion=function(emailTypoId,emailField,originalEmail,formattedSuggestedEmail){var eml=document.getElementById(emailField).value;var regex=new RegExp(originalEmail,"gi");document.getElementById(emailField).value=eml.replace(regex,formattedSuggestedEmail);document.getElementById(emailTypoId).style.display='none'};HESK_FUNCTIONS.rate=function(url,elementId){if(url.length===0){return!1}
|
||||
var element=document.getElementById(elementId);$.ajax({url:url,method:'GET',dataType:'text',success:function(resp){element.innerHTML=resp},error:function(jqXHR,statusText,err){console.error(err)}})}
|
||||
4
hesk/theme/hesk3/customer/js/jquery-3.4.1.min.js
vendored
Normal file
4
hesk/theme/hesk3/customer/js/jquery-3.4.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1177
hesk/theme/hesk3/customer/js/jquery.autocomplete.js
Normal file
1177
hesk/theme/hesk3/customer/js/jquery.autocomplete.js
Normal file
File diff suppressed because it is too large
Load Diff
17
hesk/theme/hesk3/customer/js/jquery.scrollbar.min.js
vendored
Normal file
17
hesk/theme/hesk3/customer/js/jquery.scrollbar.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
3892
hesk/theme/hesk3/customer/js/selectize.js
Normal file
3892
hesk/theme/hesk3/customer/js/selectize.js
Normal file
File diff suppressed because it is too large
Load Diff
5
hesk/theme/hesk3/customer/js/selectize.min.js
vendored
Normal file
5
hesk/theme/hesk3/customer/js/selectize.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
hesk/theme/hesk3/customer/js/svg4everybody.min.js
vendored
Normal file
2
hesk/theme/hesk3/customer/js/svg4everybody.min.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.svg4everybody=b()}):"object"==typeof module&&module.exports?module.exports=b():a.svg4everybody=b()}(this,function(){function a(a,b,c){if(c){var d=document.createDocumentFragment(),e=!b.hasAttribute("viewBox")&&c.getAttribute("viewBox");e&&b.setAttribute("viewBox",e);for(var f=c.cloneNode(!0);f.childNodes.length;)d.appendChild(f.firstChild);a.appendChild(d)}}function b(b){b.onreadystatechange=function(){if(4===b.readyState){var c=b._cachedDocument;c||(c=b._cachedDocument=document.implementation.createHTMLDocument(""),c.body.innerHTML=b.responseText,b._cachedTarget={}),b._embeds.splice(0).map(function(d){var e=b._cachedTarget[d.id];e||(e=b._cachedTarget[d.id]=c.getElementById(d.id)),a(d.parent,d.svg,e)})}},b.onreadystatechange()}function c(c){function e(){for(var c=0;c<o.length;){var h=o[c],i=h.parentNode,j=d(i),k=h.getAttribute("xlink:href")||h.getAttribute("href");if(!k&&g.attributeName&&(k=h.getAttribute(g.attributeName)),j&&k){if(f)if(!g.validate||g.validate(k,j,h)){i.removeChild(h);var l=k.split("#"),q=l.shift(),r=l.join("#");if(q.length){var s=m[q];s||(s=m[q]=new XMLHttpRequest,s.open("GET",q),s.send(),s._embeds=[]),s._embeds.push({parent:i,svg:j,id:r}),b(s)}else a(i,j,document.getElementById(r))}else++c,++p}else++c}(!o.length||o.length-p>0)&&n(e,67)}var f,g=Object(c),h=/\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/,i=/\bAppleWebKit\/(\d+)\b/,j=/\bEdge\/12\.(\d+)\b/,k=/\bEdge\/.(\d+)\b/,l=window.top!==window.self;f="polyfill"in g?g.polyfill:h.test(navigator.userAgent)||(navigator.userAgent.match(j)||[])[1]<10547||(navigator.userAgent.match(i)||[])[1]<537||k.test(navigator.userAgent)&&l;var m={},n=window.requestAnimationFrame||setTimeout,o=document.getElementsByTagName("use"),p=0;f&&e()}function d(a){for(var b=a;"svg"!==b.nodeName.toLowerCase()&&(b=b.parentNode););return b}return c});
|
||||
//# sourceMappingURL=svg4everybody.min.js.map
|
||||
Reference in New Issue
Block a user