Last active
June 28, 2019 22:55
-
-
Save bryanwillis/bb20558a85ce821d917d9e37e4ea25cd to your computer and use it in GitHub Desktop.
Line 4208 here - https://gist.github.com/bryanwillis/bb20558a85ce821d917d9e37e4ea25cd#file-gistfile1-txt-L4208 https://js1.zohostatic.com/recruit/ZR_V5_Jun_26_2019/javascript/zcrm6.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function recordNavigation() { | |
var next = $("#detailNext"), | |
prev = $("#detailPrevious"), | |
back = $("#backArrowDV img"); | |
next.hasClass("disabled") && next.is(":visible") ? next.trigger("click") : prev.hasClass("disabled") && prev.is(":visible") ? prev.trigger("click") : back.trigger("click") | |
} | |
function validateVariableGroup() { | |
var label = $("#cVarCgroupName_label").text(), | |
check = emptyCheck("cVarCgroupName", label); | |
return check | |
} | |
function checkForEmailRegeneration(status) { | |
null != status && "null" != status && "true" == status && showLightBox("regenerationMsgDiv") | |
} | |
function showLightBox(id) { | |
Utils.showHideLoadingDiv(), $("#" + id).addClass("newPopup p30"), getObj(id).style.zIndex = 21, getObj(id).style.position = "absolute", freezeBackground(), $("#" + id).show(), mailsetCenter(id) | |
} | |
function removeEmailFields(el) { | |
var _el = $(el), | |
len = $("tr.addField").length; | |
$("tr.addField").length > 1 && (_el.closest("tr.addField").remove(), 1 == $("tr.addField").length && ($("tr.addField:eq(" + (len - 2) + ")").find("td:last-child").find(".removeCriteria").hide(), $("tr.addField:eq(" + (len - 2) + ")").find("td:last-child").find(".addBccEmail").show()), $("tr.addField:eq(" + (len - 2) + ")").find("td:last-child").find(".addBccEmail").show(), $("tr.addField:eq(" + (len - 2) + ")").find("td:last-child").find(".removeCriteria").hide()) | |
} | |
function saveAcceptableEmails() { | |
for (var acceptableEmails = document.getElementsByName("acceptableEmails"), emailsArr = new Array, email_pattern = /^([A-Za-z0-9_\-\.\+])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,22})$/, tempEmailAddress = "", excludeDomains = document.getElementById("excludeDomains").value, excludeDomainsArray = excludeDomains.split(","), i = 0; i < acceptableEmails.length; i++) | |
if (tempEmailAddress = acceptableEmails[i].value.replace(/\s/g, ""), email_pattern.test(tempEmailAddress) && tempEmailAddress.length < 100) | |
emailsArr.push(tempEmailAddress); | |
else if ("undefined" != acceptableEmails[i].value && tempEmailAddress.length) | |
return crmui.showMsgBand("error", I18n.getMsg("bccdropbox.otheremail.addr.invalid"), 3e3, ""), acceptableEmails[i].focus(), !1; | |
if (0 == emailsArr.length) | |
return crmui.showMsgBand("error", I18n.getMsg("bccdropbox.otheremail.addr.empty"), 3e3, ""), !1; | |
if (excludeDomains.length > 1e3) | |
return $("#excludeDomains_errorMsg").addClass("bccErrTxt"), $("#excludeDomains").addClass("bccInptErr"), showAnimatePopup("BCCDropboxId"), !1; | |
for (var k = 0; k < excludeDomainsArray.length; k++) | |
for (var j = k + 1; j < excludeDomainsArray.length; j++) | |
if (excludeDomainsArray[k] == excludeDomainsArray[j]) | |
return $("#excludeDomains_errorMsg").addClass("bccErrTxt"), $("#excludeDomains_errorMsg").text(I18n.getMsg("bccdropbox.domainsname.duplicate.alert", [++k, ++j])).show(), $("html, body").animate({ | |
scrollTop: excludeDomains_errorMsg.offset().top - 50 | |
}, "600"), !1; | |
if (1 == isEmailsRepeated(emailsArr)) | |
return !1; | |
var re = /^(@*([A-Za-z0-9\-]+(\.[a-zA-Z0-9\-]{1,20}){1,10})+,*){0,10}$/, | |
len = (excludeDomains.lastIndexOf(","), excludeDomains.length); | |
if (0 == len || re.test(excludeDomains) && excludeDomains.lastIndexOf(",") != excludeDomains.length - 1) { | |
var posturl = "/recruit/BCCDropbox.do", | |
param = "action=saveAcceptableEmails&acceptableEmails=" + encodeURIComponent(emailsArr.toString()) + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
Utils.showHideLoadingDiv(!0), $.ajax({ | |
type: "POST", | |
url: posturl, | |
data: param, | |
success: function(data) { | |
if (Utils.showHideLoadingDiv(), "100" == data) { | |
existing_acceptable_emails = emailsArr, rearrangeEmailsInTextBox(emailsArr); | |
var posturl1 = "/recruit/BCCDropbox.do", | |
param1 = "action=saveExcludeDomains&excludeDomains=" + encodeURIComponent(excludeDomains) + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
$.ajax({ | |
type: "POST", | |
url: posturl1, | |
data: param1, | |
success: function() { | |
var bccdropSuccMsg = I18n.getMsg("bccdropbox.otheremail.addr.success"); | |
crmui.showMsgBand("success", bccdropSuccMsg, 3e3, "") | |
} | |
}) | |
} else | |
"-1" == data ? crmui.showMsgBand("error", I18n.getMsg("bccdropbox.otheremail.addr.err"), 3e3, "") : crmui.showMsgBand("error", I18n.getMsg("crm.security.error.add.user"), 3e3, "") | |
}, | |
error: function() { | |
Utils.showHideLoadingDiv(), crmui.showMsgBand("error", I18n.getMsg("crm.security.error.add.user"), 3e3, "") | |
} | |
}) | |
} else { | |
var regex = /^((@*[A-Za-z0-9\-]+(\.[a-zA-Z0-9\-]{1,20}){1,10})+,*)*$/, | |
str = excludeDomains.split(","); | |
if (!regex.test(excludeDomains) || excludeDomains.lastIndexOf(",") == excludeDomains.length - 1) | |
return $("#excludeDomains").addClass("bccInptErr"), $("#excludeDomains_errorMsg").addClass("bccErrTxt"), $("#excludeDomains_errorMsg").text("Please enter a valid domain.").show(), $("html, body").animate({ | |
scrollTop: $("#excludeDomains_errorMsg").offset().top - 50 | |
}, "600"), !1; | |
if (str.length > 10) | |
return $("#excludeDomains_errorMsg").addClass("bccErrTxt"), $("#excludeDomains_errorMsg").text("You can add a maximum of 10 domains.").show(), $("html, body").animate({ | |
scrollTop: $("#excludeDomains_errorMsg").offset().top - 50 | |
}, "600"), !1 | |
} | |
} | |
function isEmailsRepeated() { | |
for (var emailsArr = document.getElementsByName("acceptableEmails"), abbreviations = ["st", "nd", "rd", "th", "th"], i = 0; i < emailsArr.length; i++) | |
for (var j = i + 1; j < emailsArr.length; j++) | |
if ("undefined" != typeof emailsArr[i].value && "undefined" != typeof emailsArr[j].value && emailsArr[i].value.replace(/\s/g, "").length > 0 && emailsArr[j].value.replace(/\s/g, "").length > 0 && emailsArr[i].value == emailsArr[j].value) | |
return alert(i + 1 + abbreviations[i] + " and " + (j + 1) + abbreviations[j] + " email address (" + emailsArr[i].value + ") is repeating. Please enter unique Email address in each fields."), !0; | |
return !1 | |
} | |
function rearrangeEmailsInTextBox(emailsArr) { | |
for (var acceptableEmailsLen = document.getElementsByName("acceptableEmails").length, i = 0; acceptableEmailsLen > i; i++) | |
"undefined" == typeof emailsArr[i] || 0 == emailsArr[i].length ? $(".addField:last-child").remove() : $('input[name="acceptableEmails"]:eq(' + i + ")").val(emailsArr[i]); | |
$(".addField").length < acceptableEmailsLen && ($("#bccDropboxEmailFields").find(".addBccEmail").last().show(), $("#bccDropboxEmailFields").find(".bcc-removeCriteria").last().hide()) | |
} | |
function triggerBccEmailRegenration(viewedUserId) { | |
var posturl = "/recruit/BCCDropbox.do", | |
param = "action=triggerRegeneration&viewedUserId=" + viewedUserId + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
Utils.showHideLoadingDiv(!0), $.ajax({ | |
type: "POST", | |
url: posturl, | |
data: param, | |
success: function(data) { | |
Utils.showHideLoadingDiv(), "100" == data ? ($("#triggerBccEmailReGen").hide(), $("#AfterTriggerringBccEmailReGen").show(), setTimeout(function() { | |
$("#AfterTriggerringBccEmailReGen").attr("style", "") | |
}, 3e3)) : alert(I18n.getMsg("crm.security.error.add.user")) | |
}, | |
error: function() { | |
Utils.showHideLoadingDiv(), alert(I18n.getMsg("crm.security.error.add.user")) | |
} | |
}) | |
} | |
function regenerateBCCEmailAddress() { | |
var params = "action=regenerate&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
loadThisPage("BCCDropbox", "BCCDropbox.do", "general", showRenegerationSuccessMsg, params) | |
} | |
function addEmailFields() { | |
var len = $("tr.addField").length; | |
$("tr.addField").length < 5 && ($("tr.addField:eq(" + (len - 1) + ")").clone().appendTo("#bccDropboxEmailFields"), $("tr.addField:eq(" + (len - 1) + ")").find("td:last-child").find(".addBccEmail").hide(), $("tr.addField:eq(" + (len - 1) + ")").find("td:last-child").find(".deleteIcon").show(), $("tr.addField:eq(" + len + ")").find("input:text").val(""), 5 == $("tr.addField").length && ($("tr.addField:eq(" + len + ")").find("td:last-child").find(".addBccEmail").hide(), $("tr.addField:eq(" + len + ")").find("td:last-child").find(".deleteIcon").show())) | |
} | |
function showRenegerationSuccessMsg() { | |
removeFreezeLayer(); | |
var regenSuccessmsg = I18n.getMsg("bccdropbox.user.regen.success"); | |
crmui.showMsgBand("success", regenSuccessmsg, 3e3, "") | |
} | |
function updateSearchPattern(contactCreateRole, leadCreateRole) { | |
var options = document.getElementsByName("srchPattern"), | |
option_len = options.length, | |
selected_option = 0, | |
selOpt = 1, | |
hideEl1 = !1, | |
hideEl2 = !1, | |
hideEl3 = !1; | |
null != $("#hiddenDefault1") && (hideEl1 = $("#hiddenDefault1").is(":visible")), null != $("#hiddenDefault2") && (hideEl2 = $("#hiddenDefault2").is(":visible")), null != $("#hiddenDefault3") && (hideEl3 = $("#hiddenOptionsDiv3").is(":visible")); | |
for (var i = 0; option_len > i; i++) | |
selOpt = i + 1, 1 == options[i].checked && (selected_option = selOpt, void 0 != $('input[name="srchPattern3"]:checked').val() && (hideEl1 || hideEl2 || hideEl3) && (1 == selOpt ? "true" == leadCreateRole && (selected_option = $('input[name="srchPattern3"]:checked').val()) : 2 == selOpt ? "true" == contactCreateRole ? (selected_option = parseInt($('input[name="srchPattern3"]:checked').val()) + 1, "true" == leadCreateRole && selected_option++) : "true" == leadCreateRole && selected_option++ : "true" == contactCreateRole && "true" == leadCreateRole ? 1 == $('input[name="srchPattern3"]:checked').val() ? $("#createWhichModule").length && (selected_option = $("#createWhichModule").val()) : selected_option = parseInt(selOpt) + 4 : ("true" == contactCreateRole || "true" == leadCreateRole) && (selected_option = parseInt($('input[name="srchPattern3"]:checked').val()) + selopt))); | |
var posturl = "/recruit/BCCDropbox.do", | |
param = "action=updateSearchPattern&selectedOption=" + selected_option + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
Utils.showHideLoadingDiv(!0), $.ajax({ | |
type: "POST", | |
url: posturl, | |
data: param, | |
dataType: "json", | |
success: function(data) { | |
if (Utils.showHideLoadingDiv(), "100" == data.result) { | |
$("#bccDropboxChangePattern").hide(), removeFreezeLayer(), $("#searchPatternDiv span").text(data.resourceValue); | |
var bccUpdateSucc = I18n.getMsg("bccdropbox.search.pattern.success"); | |
crmui.showMsgBand("success", bccUpdateSucc, 3e3, "") | |
} else | |
alert(I18n.getMsg("crm.security.error.add.user")) | |
}, | |
error: function() { | |
Utils.showHideLoadingDiv(), alert(I18n.getMsg("crm.security.error.add.user")) | |
} | |
}) | |
} | |
function showNHideSuccessMsg(successMsgDivId) { | |
$.scrollTo("#basic", { | |
axis: "y", | |
duration: 1e3, | |
offset: -50 | |
}), $("#" + successMsgDivId).show(), $("#result").addClass("posRel"), $(".sarr").hide(); | |
var pos = $("#result").width() / 2 - $("#succMsgTbl").width() / 2; | |
$("#succMsgTbl").css("left", pos), setTimeout('callBckAfterSuccessMsgDisp( "' + successMsgDivId + '" )', 3e3) | |
} | |
function showNHideBCCSuccessMsg(successMsgDivId) { | |
$("#" + successMsgDivId).show() | |
} | |
function callBckAfterSuccessMsgDisp(successMsgDivId) { | |
$("#" + successMsgDivId).hide(), $("#result").removeClass("posRel"), $(".sarr").show() | |
} | |
function validationCheck(el) { | |
var _el = $(el); | |
_el.hasClass("bccInptErr") && ($(".bccInptErr").removeClass("bccInptErr"), $("#excludeDomains_errorMsg").hide()) | |
} | |
function triggerHiddenOptions(el) { | |
var _el = $(el); | |
_el.closest("tr").find("input")[0].click() | |
} | |
function bccDropboxSearchHiddenOptions(noOfOptionsProvided, selOption, contactCreateRole, LeadCreateRole) { | |
3 == selOption ? ("true" == contactCreateRole || "true" == LeadCreateRole) && ($("#hiddenOptionsDiv3").slideDown(), $("#hiddenDefault3").prop("checked", !0)) : (document.getElementById("hiddenOptionsDiv3").style.display = "none", $("#hiddenOptionsDiv3").slideUp()), 2 == selOption ? "true" == contactCreateRole && ($("#hiddenOptionsDiv2").slideDown(), $("#hiddenDefault2").prop("checked", !0)) : $("#hiddenOptionsDiv2").slideUp(), 1 == selOption ? "true" == LeadCreateRole && ($("#hiddenOptionsDiv1").slideDown(), $("#hiddenDefault1").prop("checked", !0)) : $("#hiddenOptionsDiv1").slideUp() | |
} | |
function associateJO(module, elem) { | |
var permission = elem && 0 != elem.length ? $(elem).data("permission") : !0; | |
if (!permission) | |
return Utils.displayPermissionDenied(), !1; | |
if ($("#smeEntityId").length > 0) | |
return crmTab.commentAndAssociate(), !1; | |
var form = document.viewentityform; | |
"undefined" != typeof formobj && (form = formobj[0]); | |
var listview = !0; | |
if (void 0 != form && (listview = !1), listview) | |
noofrows = crmTab.getFromCache(module).body.length, 0 == noofrows && (noofrows = crmTab.getFromCache(module).address.address_jsonarrayObj.length), checked = crmTab.getFromCache(module).selectedIds.length; | |
else { | |
if (!$("[name=chk]")) | |
return; | |
noofrows = $("[name=chk]").length, checked = $("[name=chk]:checked").length | |
} | |
var append_ids = "", | |
append_names = ""; | |
if (1 == noofrows) { | |
if (0 == checked) { | |
var str = I18n.getMsg("crm.alert.select.one", module); | |
return alert(str), !1 | |
} | |
if (1 == listview) | |
append_ids = crmTab.getFromCache(module).selectedIds[0]; | |
else { | |
var values = $("[name=chk]")[0].value.split("&&||"); | |
append_ids = values[0], append_names = values[1] | |
} | |
document.viewentityform && (form.idlist.value = append_ids, form.namelist.value = append_names) | |
} else if (0 != noofrows) { | |
if (0 == checked) { | |
void 0 == module && (module = ""); | |
var str = I18n.getMsg("crm.alert.select.one", module); | |
return alert(str), !1 | |
} | |
if (1 == listview) | |
append_ids = crmListView.getObject().selectedIds.join(";"); | |
else { | |
var chkObj = $("[name=chk]"); | |
for (i = 0; noofrows > i; i++) | |
if (chkObj[i].checked) { | |
var values = chkObj[i].value.split("&&||"), | |
ids = values[0], | |
names = values[1]; | |
append_ids = ids + ";" + append_ids, append_names = names + "&&##" + append_names | |
} | |
document.viewentityform && (form.idlist.value = append_ids, form.namelist.value = append_names) | |
} | |
} | |
if ("asspopout" == ZRCommonUtil.FILTERRECORDS) | |
ZRAssociateUtil.assoCandForDiffJob(void 0, void 0, append_ids, ZRCommonUtil.FILTERJOBID); | |
else { | |
var loc = "/recruit/AddRecords.do?module=Potentials&relmodule=Leads&isBulk=true"; | |
Crm.addToHistory(void 0, void 0, { | |
clickId: "actionMenu", | |
entityId: append_ids, | |
isBulk: "true", | |
module: "Potentials", | |
relmodule: "Leads", | |
calleeObj: "Crm" | |
}, loc) | |
} | |
} | |
function loadOptionsElement(target, optionKeyValues) { | |
var tgt = $(target), | |
count = 0, | |
optionArr = ZRCommonUtil.convertStringToJson(optionKeyValues); | |
for (var i in optionArr) | |
tgt.append(Utils.createHTML({ | |
name: "option", | |
attr: { | |
value: i | |
}, | |
child: [{ | |
name: "text", | |
html: I18n.getMsg(optionArr[i]) | |
}] | |
})), count++; | |
if (1 != count) { | |
var noneI18n = "- " + I18n.getMsg("crm.report.none") + " -"; | |
tgt.prepend(Utils.createHTML({ | |
name: "option", | |
attr: { | |
value: "None`true" | |
}, | |
html: noneI18n | |
})) | |
} | |
var firstOption = $(tgt.find("option").first()); | |
firstOption.attr("selected", "true"), tgt.attr("data-previousValue", firstOption.val()) | |
} | |
function createAlert(msg, isBody) { | |
removeAlert(); | |
var errElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "up-error alertInsideComponent mT5" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "alt-failure" | |
}, | |
child: [{ | |
name: "i", | |
attr: { | |
"class": "fa fa-exclamation-circle fa-fw" | |
} | |
}, { | |
name: "span", | |
html: msg, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "at-close", | |
href: "javascript:void(0)" | |
}, | |
html: "x", | |
events: [{ | |
name: "click", | |
fn: "removeAlert" | |
}] | |
}] | |
}] | |
}] | |
}), | |
fileAttachContainerelem = $("#fileAttachContainer"); | |
if (isBody) { | |
var errElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "up-error alertInComponent" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "alt-failure" | |
}, | |
child: [{ | |
name: "i", | |
attr: { | |
"class": "fa fa-exclamation-circle fa-fw" | |
} | |
}, { | |
name: "span", | |
html: msg, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "at-close", | |
href: "javascript:void(0)" | |
}, | |
html: "x", | |
events: [{ | |
name: "click", | |
fn: "removeAlert" | |
}] | |
}] | |
}] | |
}] | |
}); | |
isBody.prepend(errElem) | |
} else | |
fileAttachContainerelem.length && (fileAttachContainerelem.before(errElem), fileAttachContainerelem.addClass("mT5"), fileAttachContainerelem.removeClass("mT20"), $(".subAttachDialogDiv").css("height", "685px")); | |
$(errElem).show(), isBody && setTimeout(function() { | |
removeAlert() | |
}, 5e3) | |
} | |
function removeAlert() { | |
var errMsgElem = $(".up-error"); | |
errMsgElem.length && errMsgElem.remove(); | |
var fileAttachContainerelem = $("#fileAttachContainer"); | |
fileAttachContainerelem.addClass("mT20"), fileAttachContainerelem.removeClass("mT5"), $(".subAttachDialogDiv").height("height", "650px") | |
} | |
function checkAttachFileForDesktop() { | |
if ($("#desktopTab").length) { | |
var lielems = $("#filesUl").find("li"), | |
count = lielems.length, | |
attachLimit = 20, | |
filesize = 0; | |
if (lielems.each(function(i, lielem) { | |
if (lielem = $(lielem), lielem.data("droppingFieldName")) { | |
var file = dropFiles[lielem.data("droppingFieldName")][lielem.data("dropNo")], | |
fileType = file.type; | |
if ("application/x-ms-dos-executable" == fileType || "application/x-msdownload" == fileType) | |
return createAlert(I18n.getMsg("crm.cloudpicker.invalid.filetype")), !1; | |
filesize += file.size | |
} | |
}), 0 == filesize || 0 == count) | |
return createAlert(I18n.getMsg("crm.cloudpicker.attaching.nofile")), !1; | |
if (filesize > 1024 * attachLimit * 1024) | |
return createAlert(I18n.getMsg("crm.cloudpicker.attach.size.exceed", "20MB")), !1; | |
if (count > 5) | |
return createAlert(I18n.getMsg("crm.cloudpicker.file.limit.exceed", "5")), !1; | |
if (!$("#cate").is(":visible") && $("#atch").is(":visible")) { | |
$("#fileAttachForm input[name=Attach]").attr({ | |
style: "opacity: 0.7;", | |
disabled: "true" | |
}), $("#atch").hide(), $("#shownotes").css("border", "none"), $("#cate").show(); | |
var pElem = $(Utils.createHTML({ | |
name: "div", | |
attr: { | |
id: "tempDiv" | |
} | |
})), | |
noOfSelect = count; | |
lielems.each(function(i, lielem) { | |
if (lielem = $(lielem), lielem.data("droppingFieldName")) { | |
var file = dropFiles[lielem.data("droppingFieldName")][lielem.data("dropNo")]; | |
if (file) { | |
var categories = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "newSelect marL20" | |
}, | |
child: [{ | |
name: "select", | |
attr: { | |
id: "select_" + i, | |
name: "select_" + i, | |
"class": "select fR w200" | |
} | |
}] | |
}), | |
name = file.name, | |
attachClass = ZRFileUtil.getAttachClassName(name), | |
displayName = name; | |
if (name.length > 30) { | |
var dotObj = ZRFileUtil.getAttachDotVal(name, "30"); | |
displayName = dotObj.dotVal | |
} | |
var title = Utils.createHTML({ | |
name: "b", | |
attr: { | |
title: $ESAPI.encoder().encodeForHTMLAttribute(name) | |
}, | |
child: [{ | |
name: "text", | |
html: displayName | |
}] | |
}), | |
addElem = Utils.createHTML({ | |
name: "p", | |
attr: { | |
"class": "att-list", | |
style: "border:none;" | |
}, | |
child: [{ | |
name: "img", | |
attr: { | |
width: "16px", | |
border: "0", | |
align: "absmiddle", | |
hspace: "3", | |
height: "16px", | |
style: "display:inline-block;", | |
"class": attachClass, | |
src: "images/spacer.gif" | |
} | |
}] | |
}); | |
$(addElem).append(title).append(categories), pElem.append(addElem) | |
} | |
} | |
}); | |
var attachListElem = $("#attachList"); | |
attachListElem.append(pElem); | |
var compleSelectElemt = attachListElem.find("select"); | |
compleSelectElemt.each(function(selectNo, item) { | |
loadOptionsElement(item, $("#categories").html()) | |
}), compleSelectElemt.on("change", function(ev) { | |
ChangeOptionComponent(ev.target, noOfSelect) | |
}); | |
var componentElem = $("#attachmentUl"); | |
componentElem && componentElem.length > 0 && (componentElem.parent().addClass("dN"), componentElem.parent().parent().removeClass("pbr-modal-container")); | |
var filesUlelem = $("#filesUl"); | |
return filesUlelem && filesUlelem.length > 0 && filesUlelem.hide(), !1 | |
} | |
} | |
var list = $("#attachmentList").val(); | |
if (null != list && list.length > 0) { | |
var callbacks = { | |
success: function(data) { | |
if (data.indexOf("isStorageLimitExceed") > 1) | |
ZRCommonUtil.createInfoBox({ | |
title: I18n.getMsg("crm.formula.alert"), | |
content: I18n.getMsg("file.exceed.desktop"), | |
saveclass: "primarybtn" | |
}); | |
else { | |
$("#ajax_load_tab").show(); | |
var module = $("#module"); | |
$("#candInnerQV").length > 0 && $("#candInnerQV").remove(), module && module.length > 0 && "Events" == module.val() ? $("body").append(data) : reloadPersonality("attachmentspersonality") | |
} | |
close2Comp(), $("#ajax_load_tab").hide() | |
}, | |
fail: function(data) { | |
ZRCommonUtil.createInfoBox(data.indexOf("isStorageLimitExceed") > 1 ? { | |
title: I18n.getMsg("crm.formula.alert"), | |
content: I18n.getMsg("file.exceed.desktop"), | |
saveclass: "primarybtn" | |
} : data.indexOf("isFileSizeExceed") > 1 ? { | |
title: I18n.getMsg("crm.livedesk.error"), | |
content: I18n.getMsg("crm.cloudpicker.attach.size.exceed", "20MB"), | |
saveclass: "primarybtn" | |
} : { | |
title: I18n.getMsg("crm.livedesk.error"), | |
content: I18n.getMsg("crm.security.error.add.user"), | |
saveclass: "primarybtn" | |
}), close2Comp(), $("#ajax_load_tab").hide() | |
} | |
}, | |
formData = ZRCommonUtil.formData2Query(document.fileAttachForm); | |
formData[csrfParamName] = csrfToken; | |
var cvidElem = $("input[name='cvid']"); | |
cvidElem.length && (formData.cvid = cvidElem.val()); | |
var attachTotCntElem = $("#attachTotCnt"); | |
return attachTotCntElem.length && (formData.attachTotCnt = attachTotCntElem.val()), formData.isCloudPicker1 = "true", ZRCommonUtil.ajaxUpload(document.fileAttachForm.action, formData, callbacks, "html", !1, !1), !1 | |
} | |
} | |
function validationForImportFrmDoc() { | |
var length = 0, | |
size = 0, | |
fileInps = $("form[name = 'downloadzipfiles']").find("input[type='file']"), | |
fileFieldName = $(fileInps[0]).attr("name"); | |
if (dropFiles && dropFiles[fileFieldName]) | |
for (var ifd = 0; ifd < dropFiles[fileFieldName].length; ifd++) | |
if (dropFiles[fileFieldName][ifd]) { | |
var filName = dropFiles[fileFieldName][ifd].name, | |
fileExt = filName.substring(filName.lastIndexOf(".") + 1, filName.length), | |
fileRegex = "^[dprthzoDPRTHZO]{1}[odtxliODTXLI]{1}[cftmpxlCFTMPXL]+$"; | |
fileExt.match(fileRegex) && (length += 1, size += dropFiles[fileFieldName][ifd].size) | |
} | |
var strJsonElem = $("#strJson"); | |
if (strJsonElem && strJsonElem.length > 0) { | |
var strJsonVal = ZRCommonUtil.convertStringToJson(strJsonElem.val()); | |
for (var key in strJsonVal) { | |
var typeOfService = strJsonVal[key]; | |
typeOfService && (length += typeOfService.length) | |
} | |
} | |
var resultJson = {}; | |
return resultJson.length = length, resultJson.size = size, JSON.stringify(resultJson) | |
} | |
function clickForImport(eve, target, tgt) { | |
tgt = $(tgt); | |
var inputElem = tgt.parent().next("div.input-base").find("input[type='file']").first(); | |
inputElem.click() | |
} | |
function removingDesktopFiles() { | |
var ulElem = $("#filesUl"); | |
if (ulElem.length) { | |
var liElem = ulElem.find("li"); | |
liElem.each(function(i, dropli) { | |
dropli = $(dropli); | |
var dropFieldName = dropli.data("droppingFieldName"), | |
dropNo = dropli.data("dropNo"); | |
dropFieldName && (dropFiles[dropFieldName][dropNo] = void 0) | |
}) | |
} | |
} | |
function closingFiles() { | |
removingDesktopFiles(); | |
var errMsgElem = $(".up-error.alertInsideComponent"); | |
errMsgElem.length && errMsgElem.remove(), $("#mainAttachDialogdiv").remove(), $("#attachmentFreezeLayer").remove() | |
} | |
function showingFiles(eve, trgt, target, from, initialfile, customFunction) { | |
var tgt, | |
parentTd, | |
tempFileCount = 0, | |
tempSizeForBlock = 0, | |
removalLength = 0, | |
lielems = $("#filesUl").find("li"), | |
desktopTabElem = $("#desktopTab"); | |
if (desktopTabElem.length && (!lielems || !lielems.length)) | |
return createAlert(I18n.getMsg("crm.cloudpicker.attaching.nofile")), !1; | |
from && "importFromSpreadsheet" == from ? tgt = $("#import_excel_file") : !from || "importFromDocument" !== from && "fromSendMail" != from ? from && "migrateFromOtherRecruit" === from ? tgt = $("#attachmentLocation") : parentTd = from && "createEntity" == from ? $(target).parents(".cloudPickerTD").eq(0) : $(target).parents("td").eq(0) : parentTd = $(target).parent().next("div.input-base"), parentTd && parentTd.length && (tgt = parentTd.find("input[type=file]")); | |
for (var fileno = 0, i = 0; i < lielems.length && (fileno = lielems.eq(i).data("dropNo"), void 0 == fileno); i++) | |
; | |
var fileFieldName = tgt.attr("name"); | |
if (from && ("createEntity" == from || "fromSendMail" == from) && desktopTabElem.length) { | |
if (dropFiles && dropFiles[fileFieldName]) | |
for (var i = fileno; i < dropFiles[fileFieldName].length && dropFiles[fileFieldName][i]; i++) | |
tempSizeForBlock += dropFiles[fileFieldName][i].size; | |
if (tempSizeForBlock > 10485760) | |
return createAlert(I18n.getMsg("crm.cloudpicker.attach.size.exceed", "10MB")), !1 | |
} | |
if (from && "importFromDocument" == from && desktopTabElem.length) { | |
var tempJson = ZRCommonUtil.convertStringToJson(validationForImportFrmDoc()); | |
if (tempJson.length > 10) | |
return createAlert(I18n.getMsg("crm.cloudpicker.nooffiles.exceed")), !1; | |
if (tempJson.size > 104857600) | |
return createAlert(I18n.getMsg("crm.cloudpicker.attach.size.exceed", "100MB")), !1 | |
} | |
if (dropFiles && dropFiles[fileFieldName]) { | |
initialfile && (fileno = dropFiles[fileFieldName].length - initialfile); | |
for (var i = fileno; i < dropFiles[fileFieldName].length; i++) { | |
var file = dropFiles[fileFieldName][i]; | |
if (file) { | |
tempFileCount += 1; | |
var fileName = file.name, | |
size = file.size; | |
if (from && "importFromSpreadsheet" == from) { | |
var ext = fileName.substring(fileName.lastIndexOf("."), fileName.length); | |
if (".xls" != ext && ".xlsx" != ext && ".csv" != ext && ".vcf" != ext && ".ics" != ext) | |
return dropFiles[fileFieldName][i] = void 0, createAlert(I18n.getMsg("crm.cloudpicker.invalid.filetype")), !1; | |
var ssFileNameElem = $("#import_xls_filename"); | |
ssFileNameElem.text(fileName).show(), ssFileNameElem.addClass("focus-line"); | |
var strJson = $("#strJson"); | |
strJson && strJson.length > 0 && strJson.remove(), createFileElement(fileName, size, from, tgt), dropFiles[fileFieldName] = [dropFiles[fileFieldName][i]]; | |
break | |
} | |
if (from && "migrateFromOtherRecruit" == from) { | |
var ext = fileName.substring(fileName.lastIndexOf("."), fileName.length); | |
if (".zip" != ext) | |
return dropFiles[fileFieldName][i] = void 0, createAlert(I18n.getMsg("crm.cloudpicker.invalid.filetype")), !1; | |
var ssFileNameElem = $("#import_xls_filename"); | |
ssFileNameElem.text(fileName).show(), ssFileNameElem.addClass("focus-line"); | |
var strJson = $("#strJson"); | |
if (strJson && strJson.length > 0 && strJson.remove(), !ZRCommonUtil.isEmpty(fileName)) { | |
var dotObj = ZRFileUtil.getAttachDotVal(fileName, "20"), | |
tempfileName = dotObj.dotVal, | |
titleStr = dotObj.title; | |
titleStr || (titleStr = tempfileName); | |
var elem = Utils.createHTML({ | |
name: "div", | |
data: { | |
droppingFieldName: fileFieldName, | |
dropNo: 0 | |
}, | |
attr: { | |
id: "econ_parent_1", | |
"class": "fileInfo fileNameInIFD fileLiClass", | |
style: "background-color:#f6f6f6;width:420px;padding:1px" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "econid_1", | |
"class": "gnormallable", | |
style: "font-size: 13px; padding: 4px 1px;", | |
title: titleStr | |
}, | |
html: $ESAPI.encoder().encodeForHTML(tempfileName) | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "removImportFromDoc" | |
}, | |
events: [{ | |
name: "click", | |
fn: "removeFile", | |
args: [from] | |
}], | |
html: "X" | |
}] | |
}); | |
tgt.parents("td").eq(0).append(elem), dropFiles[fileFieldName] = [dropFiles[fileFieldName][i]]; | |
break | |
} | |
} else if (!from || "importFromDocument" != from && "fromSendMail" != from) { | |
if (from && "createEntity" == from) { | |
var tempCount = i; | |
if (tgt.data("attachdetail") && "false" == tgt.data("attachdetail").isbulk) { | |
var attachTypeId = tgt.data("attachdetail").attachid, | |
strJson = $("#strJson"); | |
if (strJson.length) { | |
var respVal = ZRCommonUtil.convertStringToJson(strJson.val()); | |
for (var type in respVal) { | |
for (var docInfo = respVal[type], doc = 0; doc < docInfo.length; doc++) | |
docInfo[doc].attachmentTypeId == attachTypeId && docInfo.splice(doc, 1); | |
respVal[type] = docInfo | |
} | |
strJson.val(JSON.stringify(respVal)) | |
} | |
parentTd.find(".addEntFileDetail").remove(), dropFiles[fileFieldName] = [dropFiles[fileFieldName][i]], tempCount = 0 | |
} | |
createFileElement(fileName, size, from, tgt, void 0, void 0, fileFieldName, tempCount) | |
} else if (customFunction && "function" == typeof customFunction) { | |
var tempJson = {}; | |
tempJson.fileName = fileName, tempJson.size = size, tempJson.fileFieldName = fileFieldName, tempJson.fileNo = i, customFunction(tempJson) | |
} | |
} else if ("importFromDocument" == from) { | |
var fileExt = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length), | |
fileRegex = "^[dprthzoDPRTHZO]{1}[odtxliODTXLI]{1}[cftmpxlCFTMPXL]+$"; | |
fileExt.match(fileRegex) ? createFileElement(fileName, size, from, tgt, void 0, void 0, fileFieldName, i) : (removalLength++, dropFiles[fileFieldName][i] = void 0) | |
} else | |
createSendMailElement(fileName, size, from, tgt, void 0, void 0, i, file, void 0, void 0) | |
} | |
} | |
} | |
if (tempFileCount || (removalLength = lielems.length), removalLength && removalLength == dropFiles[fileFieldName].length - fileno && desktopTabElem.length) | |
return "importFromDocument" == from ? createAlert(I18n.getMsg("crm.cloudpicker.invalid.msg.for.import", ["0/" + removalLength, removalLength + "/" + removalLength])) : "importFromSpreadsheet" == from && createAlert(I18n.getMsg("crm.cloudpicker.invalid.filetype")), !1; | |
if (removalLength) { | |
var totalFileLength = dropFiles[fileFieldName].length - fileno, | |
addedNoOfFiles = totalFileLength - removalLength; | |
return createAlert(I18n.getMsg("crm.cloudpicker.invalid.msg.for.import", [addedNoOfFiles + "/" + totalFileLength, removalLength + "/" + totalFileLength]), $("body")), $("#mainAttachDialogdiv").remove(), $("#attachmentFreezeLayer").remove(), !1 | |
} | |
var errMsgElem = $(".up-error.alertInsideComponent"); | |
errMsgElem.length && errMsgElem.remove(), $("#mainAttachDialogdiv").remove(), $("#attachmentFreezeLayer").remove() | |
} | |
function changingDesktop(event, target, params, createDetailElem, files) { | |
if (event) | |
var tgt = $(event.target); | |
else if (target) | |
var tgt = $(target); | |
removeAlert(); | |
var from = tgt.data("from"), | |
allFiles = tgt[0].files, | |
filesArray = $.makeArray(allFiles), | |
fileElementName = tgt.attr("name"), | |
fileUl = $("#filesUl"); | |
(void 0 == params || void 0 == params.isVendorPortal) && tgt.val(""), fileUl && 0 != fileUl.length || !filesArray.length || creatingFileUlElm(); | |
for (var c = 0; c < filesArray.length; c++) { | |
var file = filesArray[c]; | |
if (file && file.name) { | |
var fileName = file.name, | |
size = file.size, | |
desktopComponentDiv = $("#desktopTab"); | |
if (void 0 == dropFiles && (dropFiles = {}), dropFiles[fileElementName] || (dropFiles[fileElementName] = []), from && "createEntity" == from) { | |
var isbulk = tgt.data("attachdetail").isbulk; | |
if ("false" == isbulk && desktopComponentDiv.length) { | |
for (var lielems = fileUl.find("li"), k = 0; k < lielems.length; k++) { | |
var tempfileno = lielems.eq(k).data("dropNo"); | |
void 0 != tempfileno && lielems.eq(k).data("droppingFieldName") == fileElementName && dropFiles[fileElementName] && (dropFiles[fileElementName][tempfileno] = void 0) | |
} | |
if (dropFiles[fileElementName] && dropFiles[fileElementName].length) | |
for (var j = 0; tempfileno > j; j++) | |
if (dropFiles[fileElementName][j]) { | |
dropFiles[fileElementName] = [dropFiles[fileElementName][j]]; | |
break | |
} | |
fileUl.empty() | |
} | |
var tempArrayLength = dropFiles[fileElementName].length; | |
desktopComponentDiv.length && createFileElement(fileName, size, "createEntityComponent", void 0, void 0, void 0, fileElementName, tempArrayLength) | |
} else if (from && "importFromDocument" == from) { | |
var tempArrayLength = dropFiles[fileElementName].length; | |
desktopComponentDiv.length && createFileElement(fileName, size, "importFDdropFiles", void 0, void 0, void 0, fileElementName, tempArrayLength) | |
} else if (from && "importFromSpreadsheet" == from) | |
if (desktopComponentDiv.length) { | |
for (var lielems = fileUl.find("li"), k = 0; k < lielems.length; k++) { | |
var tempfileno = lielems.eq(k).data("dropNo"); | |
void 0 != tempfileno && lielems.eq(k).data("droppingFieldName") == fileElementName && dropFiles[fileElementName] && (dropFiles[fileElementName][tempfileno] = void 0) | |
} | |
if (dropFiles[fileElementName] && dropFiles[fileElementName].length) | |
for (var j = 0; tempfileno > j; j++) | |
if (dropFiles[fileElementName][j]) { | |
dropFiles[fileElementName] = [dropFiles[fileElementName][j]]; | |
break | |
} | |
fileUl.empty(); | |
var tempArrayLength = dropFiles[fileElementName].length; | |
createFileElement(fileName, size, "importFromSpreadsheet", void 0, void 0, void 0, fileElementName, tempArrayLength) | |
} else { | |
dropFiles[fileElementName] = []; | |
var ssFileNameElem = $("#import_xls_filename"); | |
ssFileNameElem.text(fileName).show(), ssFileNameElem.addClass("focus-line"); | |
var strJson = $("#strJson"); | |
strJson && strJson.length > 0 && strJson.remove() | |
} | |
else if (params) { | |
params = ZRCommonUtil.convertStringToJson(params); | |
var singleInput = params.singleInput ? params.singleInput : void 0, | |
isSingle = params.single ? params.single : !1, | |
uniqueVariable = params.uniqueVariable ? params.uniqueVariable : void 0, | |
uniqueValue = params.uniqueValue ? params.uniqueValue : void 0, | |
paramfrom = params.from ? params.from : void 0; | |
if (dropFiles[fileElementName] || (dropFiles[fileElementName] = []), desktopComponentDiv.length) { | |
if (isSingle) { | |
for (var lielems = fileUl.find("li"), k = 0; k < lielems.length; k++) { | |
var tempfileno = lielems.eq(k).data("dropNo"); | |
void 0 != tempfileno && lielems.eq(k).data("droppingFieldName") == fileElementName && dropFiles[fileElementName] && (dropFiles[fileElementName][tempfileno] = void 0) | |
} | |
if (dropFiles[fileElementName] && dropFiles[fileElementName].length) | |
for (var j = 0; tempfileno > j; j++) | |
if (dropFiles[fileElementName][j]) { | |
dropFiles[fileElementName] = [dropFiles[fileElementName][j]]; | |
break | |
} | |
fileUl.empty() | |
} | |
var tempArrayLength = dropFiles[fileElementName].length; | |
createFileElement(fileName, size, paramfrom, void 0, void 0, void 0, fileElementName, tempArrayLength) | |
} else { | |
if (isSingle) { | |
dropFiles[fileElementName] = []; | |
var strJsonElem = $("#strJson"); | |
if (strJsonElem.length && uniqueVariable && uniqueValue) { | |
var respVal = ZRCommonUtil.convertStringToJson(strJsonElem.val()); | |
for (var type in respVal) { | |
for (var docInfo = respVal[type], doc = 0; doc < docInfo.length; doc++) | |
docInfo[doc][uniqueVariable] == uniqueValue && docInfo.splice(doc, 1); | |
respVal[type] = docInfo | |
} | |
strJsonElem.val(JSON.stringify(respVal)) | |
} | |
strJsonElem && singleInput && strJsonElem.remove() | |
} | |
var tempArrayLength = dropFiles[fileElementName].length; | |
if (createDetailElem && "function" == typeof createDetailElem) { | |
fileName = ZRFileUtil.getFileName(fileName); | |
var tempargs = { | |
fileName: fileName, | |
noOfFiles: tempArrayLength | |
}; | |
createDetailElem(tempargs) | |
} | |
} | |
params.callback && "function" == typeof params.callback && params.callback() | |
} else { | |
var tempArrayLength = dropFiles[fileElementName].length; | |
createFileElement(fileName, size, "detailDropFiles", void 0, void 0, void 0, fileElementName, tempArrayLength) | |
} | |
dropFiles[fileElementName].push(filesArray[c]) | |
} | |
} | |
if (files && tgt.length) { | |
var filesArray = files, | |
isBulk = tgt.data("isBulk"), | |
fieldName = tgt.attr("name"); | |
if (isBulk) { | |
fileUl && 0 != fileUl.length || creatingFileUlElm(); | |
for (var i = 0; i < filesArray.length; i++) { | |
dropFiles[fieldName] || (dropFiles[fieldName] = []); | |
var tempLength = dropFiles[fieldName].length; | |
dropFiles[fieldName].push(filesArray[i]), createFileElement(filesArray[i].name, filesArray[i].size, void 0, void 0, void 0, void 0, fieldName, tempLength) | |
} | |
} else { | |
if (filesArray.length > 1) | |
return void createAlert(I18n.getMsg("crm.cloudpicker.importfromss.exceed.filelimit")); | |
if (1 == filesArray.length) { | |
if (fileUl = $("#fileUl"), fileUl && fileUl.length > 0) { | |
for (var lielems = fileUl.find("li"), k = 0; k < lielems.length; k++) { | |
var tempfileno = lielems.eq(k).data("dropNo"); | |
void 0 != tempfileno && lielems.eq(k).data("droppingFieldName") == fieldName && dropFiles[fieldName] && (dropFiles[fieldName][tempfileno] = void 0) | |
} | |
fileUl.parent().remove() | |
} | |
if (dropFiles[fieldName] && dropFiles[fieldName].length) | |
for (var j = 0; tempfileno > j; j++) | |
if (dropFiles[fieldName][j]) { | |
dropFiles[fieldName] = [dropFiles[fieldName][j]]; | |
break | |
} | |
dropFiles[fieldName] || (dropFiles[fieldName] = []), creatingFileUlElm(), createFileElement(filesArray[0].name, filesArray[0].size, "importFromSpreadsheet", void 0, void 0, void 0, fieldName, 0), dropFiles[fieldName].push(filesArray[0]) | |
} | |
} | |
} | |
!from || "importFromDocument" != from && "fromSendMail" != from || desktopComponentDiv.length ? from && "createEntity" == from && !desktopComponentDiv.length && showingFiles(void 0, void 0, tgt, from, filesArray.length) : showingFiles(void 0, void 0, "#mainmenua_econn_0", from, filesArray.length), $(".at-desk").attr("style", "width:40%") | |
} | |
function createFileElement(fileName, size, from, tgt, docId, attachmentTypeId, droppingFieldName, dropNo) { | |
if (fileName = ZRFileUtil.getFileName(fileName), !ZRCommonUtil.isEmpty(fileName)) { | |
var dotObj = ZRFileUtil.getAttachDotVal(fileName, "20"); | |
fileName = dotObj.dotVal; | |
var titleStr = dotObj.title; | |
if (titleStr || (titleStr = fileName), !from || "createEntity" != from && "createEntityCloud" != from) | |
if (!from || "importFromDocument" != from && "migrateFromOtherRecruit" != from && "fromSendMail" != from) { | |
var elem = Utils.createHTML({ | |
name: "li", | |
attr: { | |
"class": "fileLiClass" | |
}, | |
data: { | |
droppingFieldName: droppingFieldName, | |
dropNo: dropNo | |
}, | |
child: [{ | |
name: "span", | |
attr: { | |
title: titleStr | |
}, | |
html: $ESAPI.encoder().encodeForHTML(fileName) | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "at-close" | |
}, | |
events: [{ | |
name: "click", | |
fn: "removeFile", | |
args: [from] | |
}], | |
html: "X" | |
}] | |
}), | |
filesUl = $("#filesUl"); | |
filesUl && filesUl.length > 0 && filesUl.append(elem) | |
} else if (tgt && tgt.length && "fromSendMail" == from) | |
ZRMailUtil.constructAttachFile(fileName, size, dropNo, dropNo, void 0, void 0); | |
else { | |
var elem = Utils.createHTML({ | |
name: "div", | |
data: { | |
fileno: docId, | |
attachmentTypeId: attachmentTypeId, | |
droppingFieldName: droppingFieldName, | |
dropNo: dropNo | |
}, | |
attr: { | |
id: "econ_parent_1", | |
"class": "fileInfo fileNameInIFD fileLiClass", | |
style: "background-color:#f6f6f6;width:420px;padding:1px" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "econid_1", | |
"class": "gnormallable", | |
style: "font-size: 13px; padding: 4px 1px;", | |
title: titleStr | |
}, | |
html: $ESAPI.encoder().encodeForHTML(fileName) | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "removImportFromDoc" | |
}, | |
events: [{ | |
name: "click", | |
fn: "removeFile", | |
args: [from] | |
}], | |
html: "X" | |
}] | |
}); | |
tgt && tgt.length && ("importFromDocument" == from || "fromSendMail" == from) ? tgt.parents("form").find("#mainmenua_econn_0").prepend(elem) : tgt && tgt.length && tgt.parents("td").eq(0).append(elem) | |
} | |
else { | |
var elem = Utils.createHTML({ | |
name: "span", | |
data: { | |
fileno: docId, | |
attachmentTypeId: attachmentTypeId, | |
droppingFieldName: droppingFieldName, | |
dropNo: dropNo | |
}, | |
attr: { | |
"class": "attach-file-list fL btn-chosen-value addEntFileDetail", | |
title: titleStr | |
}, | |
html: $ESAPI.encoder().encodeForHTML(fileName), | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "removalTd", | |
href: "javascript:void(0)" | |
}, | |
events: [{ | |
name: "click", | |
fn: "removeFile", | |
args: [from] | |
}], | |
html: "×" | |
}] | |
}); | |
tgt && tgt.length && tgt.parents(".cloudPickerTD").eq(0).append(elem) | |
} | |
} | |
} | |
function createSendMailElement(fileName, size, from, tgt, docId, attachmentTypeId, dropNo, fileArr, service, allFields) { | |
ZRCommonUtil.isEmpty(fileName) || tgt && tgt.length && "fromSendMail" == from && ZRMailUtil.constructAttachFile(fileName, size, dropNo, dropNo, fileArr, service, allFields) | |
} | |
function removeFile(event, target, from, callback) { | |
var tgt = $(event.target); | |
if (!from || "createEntityCloud" != from && "importFromDocument" != from && "migrateFromOtherRecruit" != from && "fromSendMail" != from) | |
if (from && "createEntity" == from) { | |
var lielem = tgt.parents("span"); | |
void 0 != Crm.requestParam.parsedFileName && null != Crm.requestParam.parsedFileName && (ZRCommonUtil.deleteFileFromZfs(Crm.requestParam.parsedFileName), Crm.requestParam.parsedFileName = "") | |
} else | |
var lielem = tgt.parents(".fileLiClass").eq(0); | |
else { | |
if ("importFromDocument" == from || "migrateFromOtherRecruit" == from || "fromSendMail" == from) | |
var lielem = tgt.parents(".fileNameInIFD"); | |
else | |
var lielem = tgt.parents("span"); | |
var fileNo = lielem.data("fileno"), | |
attachmentTypeId = lielem.data("attachmentTypeId"), | |
strJsonElem = $("#strJson"); | |
if (strJsonElem && strJsonElem.length > 0) { | |
var value = ZRCommonUtil.convertStringToJson(strJsonElem.val()), | |
newValue = {}, | |
isRemoved = !1; | |
for (var type in value) | |
if (newValue[type] = [], value[type]) | |
for (var j = 0; j < value[type].length; j++) | |
value[type][j].docId != fileNo || value[type][j].attachmentTypeId != attachmentTypeId || isRemoved ? newValue[type].push(value[type][j]) : isRemoved = !0; | |
strJsonElem.val(JSON.stringify(newValue)) | |
} | |
} | |
var ulElem = lielem.parents("ul#filesUl"); | |
if (lielem && lielem.length) { | |
var dropFileNo = lielem.data("dropNo"), | |
droppingFieldName = lielem.data("droppingFieldName"); | |
dropFiles[droppingFieldName] && (dropFileNo || 0 == dropFileNo ? dropFiles[droppingFieldName][dropFileNo] = void 0 : dropFiles[droppingFieldName] = void 0, dropFiles[droppingFieldName] && 1 == dropFiles[droppingFieldName].length && (dropFiles[droppingFieldName] = void 0)); | |
var uniqueValue = lielem.data("uniqueValue"), | |
uniqueVariable = lielem.data("uniqueVariable"); | |
if (uniqueValue && uniqueVariable) { | |
var strJsonElem = $("#strJson"); | |
if (strJsonElem.length) { | |
var respVal = ZRCommonUtil.convertStringToJson(strJsonElem.val()); | |
for (var type in respVal) { | |
for (var docInfo = respVal[type], doc = 0; doc < docInfo.length; doc++) | |
docInfo[doc][uniqueVariable] == uniqueValue && docInfo.splice(doc, 1); | |
respVal[type] = docInfo | |
} | |
strJsonElem.val(JSON.stringify(respVal)) | |
} | |
} | |
} | |
if (lielem.remove(), ulElem && 0 == ulElem.find("li").length) { | |
var listelem = $(".at-file-list"); | |
listelem && listelem.length > 0 && (listelem.remove(), $(".at-desk").attr("style", "width:100%")) | |
} else if ("detailDropFiles" == from && $("#fileAttachContainer").length && ulElem && 0 !== ulElem.find("li").length) { | |
var attachLimit = 20, | |
filesize = 0, | |
listItems = ulElem.find("li"); | |
listItems.each(function(i, ulelem) { | |
if (ulelem = $(ulelem), ulelem.data("droppingFieldName")) { | |
var file = dropFiles[ulelem.data("droppingFieldName")][ulelem.data("dropNo")]; | |
filesize += file.size | |
} | |
}), 1024 * attachLimit * 1024 > filesize && removeAlert() | |
} | |
callback && "function" == typeof callback && callback() | |
} | |
function openAttachmentComponent(attachmentParams, target, uploadElement, selectedDiv, substituteClass) { | |
if (!attachmentParams && uploadElement && (uploadElement = $(uploadElement), attachmentParams = uploadElement.data("attachmentparams"), attachmentParams.catIds = JSON.stringify(uploadElement.data("options"))), target && (target = "#" + $(target).attr("id")), attachmentParams && "importFromDocument" == attachmentParams.from) { | |
var tempJson = ZRCommonUtil.convertStringToJson(validationForImportFrmDoc()); | |
if (10 - tempJson.length < 1) | |
return createAlert(I18n.getMsg("crm.cloudpicker.nooffiles.exceed"), $("body")), !1 | |
} | |
if (selectedDiv) { | |
$("form[name='fileAttachForm']").remove(), $(".componentUl").hide(); | |
var componentElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "pbr-modal pb-animate-modal pb-candidate-modal md-show", | |
id: "mainAttachDialogdiv" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "pbr-modal-container clearfix subAttachDialogDiv" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "cls-btn", | |
href: "javascript:void(0);" | |
}, | |
events: [{ | |
name: "click", | |
fn: closingFiles | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "at-tab-list pT20 pB5" | |
}, | |
child: [{ | |
name: "ul", | |
attr: { | |
id: "attachmentUl" | |
}, | |
child: [{ | |
name: "li", | |
attr: { | |
name: "#desktopTab" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
id: "componentDesktop" | |
}, | |
html: I18n.getMsg("crm.cloudpicker.desktop"), | |
data: { | |
targetdiv: "#desktopTab" | |
} | |
}] | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "mT20", | |
id: "fileAttachContainer" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "atcont", | |
id: "desktopTab" | |
} | |
}] | |
}] | |
}] | |
}); | |
$(componentElem).css("z-index", "10002"), $("body").prepend(componentElem), $("body").prepend(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "freezeLayer", | |
id: "attachmentFreezeLayer" | |
} | |
})); | |
var ulElement = $("#attachmentUl"), | |
containerElement = $("#fileAttachContainer"), | |
desktopTabElem = $("#desktopTab"); | |
if (attachmentParams && "true" == isDocsAvailable) { | |
var length = void 0; | |
"importFromDocument" == attachmentParams.from ? length = 10 - tempJson.length : "importFromSpreadsheet" == attachmentParams.from && (length = 1); | |
var liDocsElement = Utils.createHTML({ | |
name: "li", | |
attr: { | |
name: "#documentsTab" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
id: "componentDocs" | |
}, | |
data: { | |
targetdiv: "#documentsTab" | |
}, | |
html: I18n.getMsg("crm.cloudpicker.documents"), | |
events: [{ | |
name: "click", | |
fn: componentopenZDocsLinkDialog, | |
args: [attachmentParams.zgid, "component", length, attachmentParams.isBulk, attachmentParams.extraparams] | |
}] | |
}] | |
}); | |
ulElement.append(liDocsElement); | |
var docsDivElement = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "atcont", | |
id: "documentsTab" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "docsTab" | |
} | |
}] | |
}); | |
containerElement.append(docsDivElement); | |
var documentTabElem = $("#documentsTab"); | |
documentTabElem.append(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "clearB" | |
} | |
})), documentTabElem.append(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "at-mT120 fR componentSaveCancel", | |
id: "componentSaveCancel" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
value: I18n.getMsg("crm.button.cancel"), | |
name: "Cancel", | |
"class": "newgraybtn mR10", | |
type: "button" | |
}, | |
events: [{ | |
name: "click", | |
fn: "close2Comp" | |
}] | |
}, { | |
name: "input", | |
attr: { | |
"class": "primarybtn", | |
value: I18n.getMsg("crm.button.attach"), | |
type: "button" | |
}, | |
events: [{ | |
name: "click", | |
fn: getResponseFromDocs, | |
args: [attachmentParams.attachmentTypeId, attachmentParams.isBulk, attachmentParams.from, attachmentParams.extraparams] | |
}] | |
}] | |
})) | |
} | |
if (attachmentParams && "true" == isGadgetsAvailable && gadgetsUrlForCloud && crmUrlForCloud) { | |
var length = void 0; | |
"importFromDocument" == attachmentParams.from ? length = 10 - tempJson.length : ("importFromSpreadsheet" == attachmentParams.from || "migrateFromOtherRecruit" == attachmentParams.from) && (length = 1), (attachmentParams.attachlimit || 0 == attachmentParams.attachlimit) && (length = attachmentParams.attachlimit); | |
var liGadgetsElement = Utils.createHTML({ | |
name: "li", | |
attr: { | |
name: "#cloudPickerTab" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
id: "componentCloud" | |
}, | |
html: I18n.getMsg("crm.cloudpicker.cloud"), | |
data: { | |
targetdiv: "#cloudPickerTab" | |
}, | |
events: [{ | |
name: "click", | |
fn: componentOpenForDocs, | |
args: ["gdoc", gadgetsUrlForCloud, crmUrlForCloud, "component", attachmentParams.attachmentTypeId, attachmentParams.isBulk, attachmentParams.from, length, attachmentParams.extraparams] | |
}] | |
}] | |
}); | |
ulElement.append(liGadgetsElement); | |
var gadgetsDivElement = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "atcont", | |
id: "cloudPickerTab" | |
} | |
}); | |
containerElement.append(gadgetsDivElement) | |
} | |
if (attachmentParams && attachmentParams.entityId && attachmentParams.module) { | |
var moduleElem = $("input[name='module']"); | |
moduleElem.length && "Activities" !== moduleElem.val() && (attachmentParams.module = moduleElem.val()); | |
var dropLables = function() { | |
$("#attach0").click() | |
}, | |
desktopElement = Utils.createHTML({ | |
name: "form", | |
attr: { | |
onsubmit: "return checkAttachFileForDesktop();", | |
method: "post", | |
name: "fileAttachForm", | |
target: "AttachmentFrame", | |
enctype: "multipart/form-data", | |
action: "/recruit/fileattach.do?id=" + attachmentParams.entityId + "&module=" + attachmentParams.module | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "atch", | |
name: "atch" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "pR" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
id: "attach0", | |
type: "file", | |
"class": "at-btn", | |
name: "theFile", | |
multiple: "multiple" | |
}, | |
events: [{ | |
name: "change", | |
fn: "changingDesktop" | |
}] | |
}, { | |
name: "div", | |
data: { | |
fileno: 0 | |
}, | |
attr: { | |
ondrop: "droppingFiles(event,'detailDropFiles');", | |
id: "labelForDesktop", | |
"for": "attach0", | |
"class": "at-desk at-desk1" | |
}, | |
events: [{ | |
name: "click", | |
fn: dropLables | |
}], | |
child: [{ | |
name: "span", | |
html: I18n.getMsg("crm.cloudpicker.description") | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "clearB" | |
} | |
}, { | |
name: "div", | |
attr: { | |
"class": "mT20 fR componentSaveCancel", | |
id: "componentSaveCancel" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
value: I18n.getMsg("crm.button.cancel"), | |
name: "Cancel", | |
"class": "newgraybtn mR10", | |
type: "button", | |
id: "closeAttachmentComponent" | |
} | |
}, { | |
name: "input", | |
attr: { | |
"class": "primarybtn", | |
value: I18n.getMsg("crm.button.attach"), | |
type: "submit" | |
} | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
id: "categories", | |
name: "categories", | |
"class": "dN" | |
}, | |
child: [{ | |
name: "text", | |
html: attachmentParams.catIds | |
}] | |
}, { | |
name: "div", | |
attr: { | |
id: "cate", | |
"class": "delete-type-pop attachment-list-pop bsd", | |
style: "display:none; position: absolute; top: 50%; margin-left: -225px; margin-top: -75px; left: 50%;" | |
}, | |
data: { | |
dialog: "remove", | |
removefreeze: "true" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
"class": "close-confirm zrc-icon-closeb top16", | |
title: "Close" | |
}, | |
events: [{ | |
name: "click", | |
fn: "close2Comp" | |
}] | |
}, { | |
name: "h4", | |
attr: { | |
"class": "pop-heading" | |
}, | |
html: I18n.getMsg("crm.setup.customization.attachmenttype") | |
}, { | |
name: "div", | |
attr: { | |
"class": "att-list-block", | |
id: "attachment-list-div" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "attachList" | |
} | |
}, { | |
name: "div", | |
attr: { | |
"class": "tac mT20" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "button", | |
value: I18n.getMsg("crm.button.save"), | |
name: "save", | |
"class": "primarybtn" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRFileUtil.checkCategories", | |
args: ["true"] | |
}] | |
}, { | |
name: "input", | |
attr: { | |
type: "hidden", | |
id: "attachmentList", | |
name: "attachmentList" | |
} | |
}] | |
}] | |
}] | |
}] | |
}); | |
desktopTabElem.append(desktopElement) | |
} else if (attachmentParams && attachmentParams.module && "createEntity" === attachmentParams.from) { | |
var desktopElement = Utils.createHTML({ | |
name: "label", | |
data: { | |
fileno: 0 | |
}, | |
events: [{ | |
name: "click", | |
fn: triggerAttachClick, | |
args: [void 0, target] | |
}], | |
attr: { | |
id: "labelForDesktop", | |
"class": "at-desk at-desk1 pR", | |
ondrop: "droppingFiles(event,'" + attachmentParams.from + "','" + target + "');" | |
}, | |
child: [{ | |
name: "span", | |
html: I18n.getMsg("crm.cloudpicker.description") | |
}] | |
}); | |
desktopTabElem.append(desktopElement), desktopTabElem.append(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "clearB" | |
} | |
})), desktopTabElem.append(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "mT20 fR componentSaveCancel", | |
id: "componentSaveCancel" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
value: I18n.getMsg("crm.button.cancel"), | |
name: "Cancel", | |
"class": "newgraybtn mR10", | |
type: "button", | |
id: "closeAttachment" | |
}, | |
events: [{ | |
name: "click", | |
fn: closingFiles | |
}] | |
}, { | |
name: "input", | |
attr: { | |
"class": "primarybtn", | |
value: I18n.getMsg("crm.button.attach"), | |
type: "button" | |
}, | |
events: [{ | |
name: "click", | |
fn: showingFiles, | |
args: [target, "createEntity"] | |
}] | |
}] | |
})) | |
} else if (attachmentParams && attachmentParams.module && ("importFromDocument" === attachmentParams.from || "importFromSpreadsheet" === attachmentParams.from || "migrateFromOtherRecruit" == attachmentParams.from || "fromSendMail" === attachmentParams.from)) { | |
var desktopElement = Utils.createHTML({ | |
name: "label", | |
attr: { | |
id: "labelForDesktop", | |
ondrop: "droppingFiles(event,'" + attachmentParams.from + "');", | |
"class": "at-desk at-desk1 pR" | |
}, | |
events: [{ | |
name: "click", | |
fn: clickForImport, | |
args: [target] | |
}], | |
child: [{ | |
name: "span", | |
html: I18n.getMsg("crm.cloudpicker.description") | |
}] | |
}); | |
desktopTabElem.append(desktopElement), desktopTabElem.append(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "clearB" | |
} | |
})), desktopTabElem.append(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "mT20 fR componentSaveCancel", | |
id: "componentSaveCancel" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
value: I18n.getMsg("crm.button.cancel"), | |
name: "Cancel", | |
"class": "newgraybtn mR10", | |
type: "button", | |
id: "closeAttachment" | |
}, | |
events: [{ | |
name: "click", | |
fn: closingFiles | |
}] | |
}, { | |
name: "input", | |
attr: { | |
"class": "primarybtn", | |
value: I18n.getMsg("crm.button.attach"), | |
type: "button" | |
}, | |
events: [{ | |
name: "click", | |
fn: showingFiles, | |
args: [target, attachmentParams.from] | |
}] | |
}] | |
})) | |
} else | |
attachmentParams && attachmentParams.desktopElement && "function" == typeof attachmentParams.desktopElement && attachmentParams.desktopElement(desktopTabElem); | |
attachmentParams && attachmentParams.callbackFun && "function" == typeof attachmentParams.callbackFun && attachmentParams.callbackFun(), 0 == CloudPickerComponent.isLoaded && CloudPickerComponent.init(), $(".atcont").hide(); | |
var showDiv = $(".atcont" + selectedDiv); | |
showDiv.length ? $('.at-tab-list li[name="' + selectedDiv + '"] a').click() : ($(".atcont:first").show(), $(".at-tab-list li:eq(0)").addClass("active")) | |
} else { | |
substituteClass || (substituteClass = "atch-list"); | |
var popupElem = Utils.createHTML({ | |
name: "ul", | |
attr: { | |
"class": substituteClass + " componentUl" | |
}, | |
child: [{ | |
name: "li", | |
html: I18n.getMsg("crm.cloudpicker.desktop"), | |
events: [{ | |
name: "click", | |
fn: openAttachComponent, | |
args: [attachmentParams, target, uploadElement, "#desktopTab", substituteClass] | |
}] | |
}] | |
}), | |
componentUlElem = $(target).find(".atDropDown").append(popupElem); | |
componentUlElem = $(componentUlElem).find(".componentUl"), attachmentParams && "true" == isGadgetsAvailable && gadgetsUrlForCloud && crmUrlForCloud && componentUlElem.append(Utils.createHTML({ | |
name: "li", | |
html: I18n.getMsg("crm.cloudpicker.cloud"), | |
events: [{ | |
name: "click", | |
fn: openAttachComponent, | |
args: [attachmentParams, target, uploadElement, "#cloudPickerTab", substituteClass] | |
}] | |
})), attachmentParams && "true" == isDocsAvailable && componentUlElem.append(Utils.createHTML({ | |
name: "li", | |
html: I18n.getMsg("crm.cloudpicker.documents"), | |
events: [{ | |
name: "click", | |
fn: openAttachComponent, | |
args: [attachmentParams, target, uploadElement, "#documentsTab", substituteClass] | |
}] | |
})) | |
} | |
} | |
function creatingFileUlElm() { | |
var desktopTabElm = $("#desktopTab"), | |
filesElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "at-file-list" | |
}, | |
child: [{ | |
name: "ul", | |
attr: { | |
id: "filesUl" | |
} | |
}] | |
}); | |
desktopTabElm.prepend(filesElem) | |
} | |
function droppingFiles(e, from, target) { | |
e.preventDefault(), e.stopPropagation(); | |
var filesize = 0, | |
fileUl = $("#filesUl"); | |
fileUl.parent().show(); | |
var ele = $("#labelForDesktop"); | |
if ($(ele).removeClass("fullWidth"), e.dataTransfer) { | |
var filesArray = $.makeArray(e.dataTransfer.files); | |
if (filesArray && filesArray.length) | |
if ("createEntity" == from) { | |
var tgt = $(target).next(".file-hide"), | |
isbulk = tgt.data("attachdetail").isbulk, | |
fileFieldName = "theFile_property(", | |
fieldName = tgt.attr("name"), | |
attachType = ""; | |
if ("false" == isbulk && filesArray.length > 1) { | |
if (fieldName && "" != fieldName && 0 == fieldName.indexOf(fileFieldName)) { | |
var endIndex = fieldName.lastIndexOf(")"); | |
attachType = fieldName.substring(17, endIndex) | |
} | |
var alertMsg = "" != attachType ? I18n.getMsg("crm.clouldpicker.add.entity.bulkerr.msg", attachType) : I18n.getMsg("crm.cloudpicker.importfromss.exceed.filelimit"); | |
return void createAlert(alertMsg) | |
} | |
if ("false" == isbulk) { | |
if (fileUl && fileUl.length > 0) { | |
for (var lielems = fileUl.find("li"), k = 0; k < lielems.length; k++) { | |
var tempfileno = lielems.eq(k).data("dropNo"); | |
void 0 != tempfileno && lielems.eq(k).data("droppingFieldName") == fieldName && dropFiles[fieldName] && (dropFiles[fieldName][tempfileno] = void 0) | |
} | |
fileUl.parent().remove() | |
} | |
if (dropFiles[fieldName] && dropFiles[fieldName].length) | |
for (var j = 0; tempfileno > j; j++) | |
if (dropFiles[fieldName][j]) { | |
dropFiles[fieldName] = [dropFiles[fieldName][j]]; | |
break | |
} | |
} | |
for (var j = 0; null != filesArray && void 0 != filesArray && j < filesArray.length; j++) | |
filesize = null != filesArray[j] && void 0 != filesArray[j] && void 0 != filesArray[j].size ? filesize + filesArray[j].size : filesize; | |
if (filesize > 10485760) | |
return createAlert(I18n.getMsg("crm.cloudpicker.attach.size.exceed", "10MB")), !1; | |
fileUl = $("#filesUl"), fileUl && 0 != fileUl.length || creatingFileUlElm(); | |
for (var i = 0; i < filesArray.length; i++) { | |
dropFiles[fieldName] || (dropFiles[fieldName] = []); | |
var tempLength = dropFiles[fieldName].length; | |
dropFiles[fieldName].push(filesArray[i]), createFileElement(filesArray[i].name, filesArray[i].size, "createEntityComponent", void 0, void 0, void 0, fieldName, tempLength) | |
} | |
$(".at-desk").attr("style", "width:40%") | |
} else if (from && "detailDropFiles" == from) { | |
for (var fieldName = "theFile", j = 0; null != filesArray && void 0 != filesArray && j < filesArray.length; j++) | |
filesize = null != filesArray[j] && void 0 != filesArray[j] && void 0 != filesArray[j].size ? filesize + filesArray[j].size : filesize; | |
if (filesize > 10485760) | |
return createAlert(I18n.getMsg("crm.cloudpicker.attach.size.exceed", "10MB")), !1; | |
fileUl && 0 != fileUl.length || creatingFileUlElm(); | |
for (var i = 0; i < filesArray.length; i++) { | |
dropFiles[fieldName] || (dropFiles[fieldName] = []); | |
var tempLength = dropFiles[fieldName].length; | |
dropFiles[fieldName].push(filesArray[i]), createFileElement(filesArray[i].name, filesArray[i].size, "detailDropFiles", void 0, void 0, void 0, fieldName, tempLength) | |
} | |
$(".at-desk").attr("style", "width:40%") | |
} else if (!from || "importFromDocument" != from && "fromSendMail" != from) | |
if (!from || "importFromSpreadsheet" != from && "migrateFromOtherRecruit" != from) | |
target && (target = $("input[name=" + target + "]"), changingDesktop(void 0, target, void 0, void 0, filesArray)); | |
else { | |
var imoprtDragEle = $("#importsecondaryItem"); | |
if (imoprtDragEle.length && imoprtDragEle.show(), "importFromSpreadsheet" == from) | |
var fileElem = $("#import_excel_file"); | |
else | |
var fileElem = $("#attachmentLocation"); | |
var fieldName = fileElem.attr("name"); | |
if (filesArray.length > 1) | |
return void createAlert(I18n.getMsg("crm.cloudpicker.importfromss.exceed.filelimit")); | |
if (1 == filesArray.length) { | |
if (fileUl && fileUl.length > 0) { | |
for (var lielems = fileUl.find("li"), k = 0; k < lielems.length; k++) { | |
var tempfileno = lielems.eq(k).data("dropNo"); | |
void 0 != tempfileno && lielems.eq(k).data("droppingFieldName") == fieldName && dropFiles[fieldName] && (dropFiles[fieldName][tempfileno] = void 0) | |
} | |
fileUl.parent().remove() | |
} | |
if (dropFiles[fieldName] && dropFiles[fieldName].length) | |
for (var j = 0; tempfileno > j; j++) | |
if (dropFiles[fieldName][j]) { | |
dropFiles[fieldName] = [dropFiles[fieldName][j]]; | |
break | |
} | |
dropFiles[fieldName] || (dropFiles[fieldName] = []), creatingFileUlElm(), createFileElement(filesArray[0].name, filesArray[0].size, "importFromSpreadsheet", void 0, void 0, void 0, fieldName, dropFiles[fieldName].length), dropFiles[fieldName].push(filesArray[0]), $(".at-desk").attr("style", "width:40%") | |
} | |
} | |
else { | |
var imoprtDragEle = $("#importsecondaryItem"); | |
imoprtDragEle.length && imoprtDragEle.show(); | |
var fieldName = "theFile"; | |
if ("fromSendMail" == from) { | |
for (var j = 0; null != filesArray && void 0 != filesArray && j < filesArray.length; j++) | |
filesize = null != filesArray[j] && void 0 != filesArray[j] && void 0 != filesArray[j].size ? filesize + filesArray[j].size : filesize; | |
if (filesize > 10485760) | |
return createAlert(I18n.getMsg("crm.cloudpicker.attach.size.exceed", "10MB")), !1 | |
} | |
fileUl && 0 != fileUl.length || creatingFileUlElm(); | |
for (var i = 0; i < filesArray.length; i++) { | |
dropFiles[fieldName] || (dropFiles[fieldName] = []); | |
var tempLength = dropFiles[fieldName].length; | |
dropFiles[fieldName].push(filesArray[i]), createFileElement(filesArray[i].name, filesArray[i].size, "importFDdropFiles", void 0, void 0, void 0, fieldName, tempLength) | |
} | |
$(".at-desk").attr("style", "width:40%") | |
} | |
} | |
} | |
function triggerAttachClick(ev, tgt, event, target) { | |
ZRCommonUtil.triggerAttachClick(event, target) | |
} | |
function componentOpenForDocs(event, tgt, mode, attachUrl, crmUrl, from, attachmentTypeId, isBulk, targetFrom, attachlmt, extraparams) { | |
var loadingEle = $("#ajax_load_tab"); | |
return loadingEle.show(), targetFrom && ("importFromDocument" == targetFrom || "importFromSpreadsheet" == targetFrom || "migrateFromOtherRecruit" == targetFrom) || extraparams ? openForDocs(mode, attachUrl, crmUrl, from, attachmentTypeId, isBulk, targetFrom, attachlmt, extraparams) : openForDocs(mode, attachUrl, crmUrl, from, attachmentTypeId, isBulk, targetFrom, void 0, extraparams), setTimeout(function() { | |
tgt = $("a#componentCloud"), $(".at-tab-list li").removeClass("active"), tgt.parent().addClass("active"); | |
var currentTab = tgt.data("targetdiv"); | |
currentTab != Utils.getCookie("lastDivForCloudPicker") && removeAlert(), document.cookie = "lastDivForCloudPicker=" + currentTab, $("#docsTab").empty(), $(".atcont").hide(), $(currentTab).show(), loadingEle.hide() | |
}, 500), !1 | |
} | |
function componentopenZDocsLinkDialog(event, tgt, zgid, from, attachlmt, isBulk, extraparams) { | |
var loadingEle = $("#ajax_load_tab"); | |
return loadingEle.show(), $("#docsTab").empty(), openZDocsLinkDialog(zgid, from, attachlmt, isBulk, extraparams), setTimeout(function() { | |
var tgt = $("a#componentDocs"); | |
$(".at-tab-list li").removeClass("active"), tgt.parent().addClass("active"); | |
var currentTab = tgt.data("targetdiv"); | |
currentTab != Utils.getCookie("lastDivForCloudPicker") && removeAlert(), document.cookie = "lastDivForCloudPicker=" + currentTab, $("#cloudPickerTab").empty(), $(".atcont").hide(), $(currentTab).show(), loadingEle.hide() | |
}, 500), !1 | |
} | |
function close2Comp() { | |
var errMsgElem = $(".up-error.alertInsideComponent"); | |
errMsgElem.length && errMsgElem.remove(); | |
var freezeLayerElem = $("#attachmentFreezeLayer"); | |
freezeLayerElem && freezeLayerElem.length && freezeLayerElem.remove(); | |
var secComp = $("#cloud1"); | |
secComp && secComp.length > 0 && secComp.parent().remove(); | |
var componentDiv = document.getElementById("mainAttachDialogdiv"); | |
componentDiv && componentDiv.parentNode.removeChild(componentDiv), $("form[name=fileAttachForm]").remove(), dropFiles = {}, removeFreezeLayer(), $(".componentUl").remove() | |
} | |
function attachUsingComponent() { | |
var types = [], | |
alertMsg = !1, | |
list = $(".att-list"), | |
listObj = ""; | |
for (i = 0; i < list.length; i++) { | |
var type = $(list[i]).find("select"); | |
type = $(type).val(); | |
var found = $.inArray(type, types); | |
if (null === type || "None" === type.split("`")[0]) { | |
createAlert(I18n.getMsg("crm.attachment.choose.error"), $("body")), alertMsg = !0; | |
break | |
} | |
if (-1 != found && "false" === type.split("`")[1]) { | |
createAlert(I18n.getMsg("crm.attachment.type.error"), $("body")), alertMsg = !0; | |
break | |
} | |
types.push(type), listObj = "" === listObj ? type : listObj + "," + type | |
} | |
if (!alertMsg) { | |
var attList = document.getElementById("attachmentList"); | |
attList.value = listObj, submitUsingComponent() | |
} | |
} | |
function submitUsingComponent() { | |
submitForCloudPicker() | |
} | |
function submitForCloudPicker(from) { | |
var alertMsg, | |
module = "", | |
action = "", | |
isReturn = !1, | |
returnVal = !1; | |
if (loadAjaxTab(""), from && "createEntity" == from) { | |
isReturn = !0, module = $("#module").val(); | |
var strJson = $("#strJson").val(); | |
action = "/recruit/docsSubmit.do?strjson=" + encodeURIComponent(strJson) + "&module=" + module + "&pname=ATTACHMENTSPERSONALITY&" + csrfParamName + "=" + csrfToken | |
} else { | |
var anchorId = $("#anchorId").val(), | |
entityId = $("#entityId").val(); | |
module = $("#moduleForIFrame").val(), document.submitComponentForm.action = "/recruit/docsSubmit.do?" + formData2QueryString(document.getElementsByName("submitComponentForm")[0]) + "entityID=" + entityId + "&module=" + module + "&anchorId=" + anchorId + "&pname=ATTACHMENTSPERSONALITY&" + csrfParamName + "=" + csrfToken, action = document.submitComponentForm.action | |
} | |
return mR(action, function(resp) { | |
var listRelationId = parent.$("[name=ID_ATTACHMENTSPERSONALITY]").val(); | |
null != resp && void 0 != resp && resp.indexOf("cloudPickerStorageExceeded") > -1 ? alertMsg = I18n.getMsg("file.exceed.desktop") : null != resp && void 0 != resp && resp.indexOf("cloudPickerLimitExceeded") > -1 ? alertMsg = I18n.getMsg("crm.mail.attach.restriction.individual.error") : "Events" != module || isReturn ? isReturn ? null != resp && void 0 != resp && (returnVal = resp) : (reloadPersonality("attachmentspersonality"), replacePersonality(resp, listRelationId)) : ($("#show #eventsRightPanelAttachDiv").html($(resp).find("#eventsRightPanelAttachDiv").html()), $(".cntSpn").show()), isReturn || parent.clearShowCacheObj("tab_" + module) | |
}, void 0, void 0, void 0, !1), isReturn || close2Comp(), alertMsg && ZRCommonUtil.createInfoBox({ | |
title: I18n.getMsg("crm.formula.alert"), | |
content: alertMsg, | |
saveclass: "primarybtn" | |
}), returnVal | |
} | |
function ChangeOptionComponent(chBox, noOfSelect) { | |
var checkBoxElem = $(chBox), | |
str = checkBoxElem.val(), | |
isBulk = str.split("`")[1], | |
previousValue = checkBoxElem.attr("data-previousValue"), | |
isBulk1 = previousValue.split("`")[1]; | |
checkBoxElem.attr("data-previousValue", str); | |
for (var i = (str.split("`")[0], 0); noOfSelect > i; i++) | |
for (var item = $("#select_" + i)[0], options = $("#select_" + i + " option"), k = 0; k < options.length; k++) { | |
var thisoption = options.eq(k), | |
str1 = thisoption.val(); | |
previousValue === str1 && "false" === isBulk1 && thisoption.prop("disabled", !1), str === str1 && "false" === isBulk && item !== chBox && thisoption.prop("disabled", !0) | |
} | |
} | |
function triggerFileClickForDetailPage(attachmentParams, element) { | |
if (element) { | |
var elem = $(element); | |
attachmentParams = elem.data("attachmentparams"), attachmentParams.catIds = elem.data("options") | |
} | |
var formElem = $("form[name='fileAttachForm']"); | |
formElem.length && formElem.remove(); | |
var desktopElement = Utils.createHTML({ | |
name: "form", | |
attr: { | |
onsubmit: "return checkAttachFileForDesktop();", | |
method: "post", | |
name: "fileAttachForm", | |
target: "AttachmentFrame", | |
enctype: "multipart/form-data", | |
id: "fileAttachFormFromComponent", | |
action: "/recruit/fileattach.do?id=" + attachmentParams.entityId + "&module=" + attachmentParams.module | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "atch", | |
name: "atch" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
id: "attach0", | |
type: "file", | |
"class": "at-btn", | |
name: "theFile", | |
multiple: "multiple" | |
}, | |
events: [{ | |
name: "change", | |
fn: "changingdesktopInDetail", | |
args: [attachmentParams.catIds] | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
id: "cate", | |
"class": "delete-type-pop attachment-list-pop bsd", | |
style: "display:none; position: fixed; top: 50%; margin-left: -225px; margin-top: -75px; left: 50%;" | |
}, | |
data: { | |
dialog: "remove", | |
removefreeze: "true" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
"class": "close-confirm zrc-icon-closeb top16", | |
title: "Close" | |
}, | |
events: [{ | |
name: "click", | |
fn: "close2Comp" | |
}] | |
}, { | |
name: "h4", | |
attr: { | |
"class": "pop-heading" | |
}, | |
html: I18n.getMsg("crm.setup.customization.attachmenttype") | |
}, { | |
name: "div", | |
attr: { | |
"class": "att-list-block", | |
id: "attachment-list-div" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "attachList" | |
} | |
}, { | |
name: "div", | |
attr: { | |
"class": "tac mT20" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "button", | |
value: I18n.getMsg("crm.button.save"), | |
name: "save", | |
"class": "primarybtn" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRFileUtil.checkCategories", | |
args: ["true"] | |
}] | |
}, { | |
name: "input", | |
attr: { | |
type: "hidden", | |
id: "attachmentList", | |
name: "attachmentList" | |
} | |
}] | |
}] | |
}] | |
}] | |
}); | |
$("body").append(desktopElement), $(desktopElement).find("input[type=file]").click() | |
} | |
function changingdesktopInDetail(event, target, catIds) { | |
for (var tgt = $(target), files = tgt[0].files, count = files.length, attachLimit = 20, attachCountLimit = 25, filesize = 0, formElem = tgt.parents("form").eq(0), i = 0; i < files.length; i++) { | |
var file = files[i]; | |
if (file) { | |
var fileType = file.type; | |
if ("application/x-ms-dos-executable" == fileType || "application/x-msdownload" == fileType) | |
return ZRCommonUtil.createInfoBox({ | |
title: I18n.getMsg("crm.livedesk.error"), | |
content: I18n.getMsg("crm.cloudpicker.invalid.filetype"), | |
saveclass: "primarybtn" | |
}), !1; | |
filesize += file.size | |
} | |
} | |
if (count > attachCountLimit) | |
return ZRCommonUtil.createInfoBox({ | |
title: I18n.getMsg("crm.livedesk.error"), | |
content: I18n.getMsg("crm.cloudpicker.attach.count.exceed", attachCountLimit), | |
saveclass: "primarybtn" | |
}), !1; | |
if (filesize > 1024 * attachLimit * 1024) | |
return ZRCommonUtil.createInfoBox({ | |
title: I18n.getMsg("crm.livedesk.error"), | |
content: I18n.getMsg("crm.cloudpicker.attach.size.exceed", "20MB"), | |
saveclass: "primarybtn" | |
}), !1; | |
for (var pElem = $(Utils.createHTML({ | |
name: "div", | |
attr: { | |
id: "tempDiv" | |
} | |
})), noOfSelect = count, i = 0; i < files.length; i++) { | |
var file = files[i]; | |
if (file) { | |
var categories = Utils.createHTML({ | |
name: "select", | |
attr: { | |
id: "select_" + i, | |
name: "select_" + i, | |
"class": "select fR w200" | |
} | |
}), | |
name = file.name, | |
displayName = name; | |
if (name.length > 30) { | |
var dotObj = ZRFileUtil.getAttachDotVal(name, "30"); | |
displayName = dotObj.dotVal | |
} | |
var title = Utils.createHTML({ | |
name: "b", | |
attr: { | |
title: $ESAPI.encoder().encodeForHTMLAttribute(name) | |
}, | |
child: [{ | |
name: "text", | |
html: displayName | |
}] | |
}), | |
addElem = Utils.createHTML({ | |
name: "p", | |
attr: { | |
"class": "att-list", | |
style: "border:none;" | |
}, | |
child: [{ | |
name: "img", | |
attr: { | |
width: "16px", | |
border: "0", | |
align: "absmiddle", | |
hspace: "3", | |
height: "16px", | |
"class": "file-icon", | |
src: "images/spacer.gif" | |
} | |
}] | |
}); | |
$(addElem).append(title).append(categories), pElem.append(addElem) | |
} | |
} | |
var attachListElem = formElem.find("#attachList"); | |
attachListElem.append(pElem.html()); | |
var compleSelectElemt = attachListElem.find("select"); | |
compleSelectElemt.each(function(selectNo, item) { | |
loadOptionsElement(item, catIds) | |
}), compleSelectElemt.on("change", function(ev) { | |
ChangeOptionComponent(ev.target, noOfSelect) | |
}), freezeBackground(), formElem.find("#cate").show() | |
} | |
crmRelatedList = { | |
Module: "", | |
EntityId: "", | |
EachModuleData: {}, | |
ListIds: [], | |
load: function(module, entityId, moduleData, isNavigation, clickId, emailist) { | |
if (crmRelatedList.TEMPLATE_SUBMITTOCLIENT = 100, crmRelatedList.tempData = moduleData, !moduleData.Converted_Lead) { | |
var projectIntegration = 0, | |
projectListRelationId = "", | |
returnAnchor = "", | |
authMsg = "", | |
portalName = "", | |
projId = "", | |
invoiceListRelationId = "", | |
expenseListRelationId = "", | |
zsubscriptionsListRelationId = "", | |
supportIntegration = 0, | |
mailIntegration = 0, | |
invoiceIntegration = 0, | |
expenseIntegration = 0, | |
subscriptionsIntegration = 0, | |
socialPers = !1; | |
if ("string" == typeof moduleData && (moduleData = JSON.parse(moduleData)), module != crmRelatedList.Module && (crmRelatedList.EachModuleData = {}), moduleData.listLabelsJson) { | |
returnJson.relListLabelsJson.relListLabelJson = moduleData.listLabelsJson, detailView.formNewLeftPanel(); | |
var tableHtmlFun = Handlebars.getTemplate("relatedlist", "RelatedList"), | |
headerHtml = tableHtmlFun(returnJson.relListLabelsJson); | |
$("#relatedPageContent").html(headerHtml) | |
} | |
crmRelatedList.Module = module, crmRelatedList.EntityId = entityId; | |
var response = moduleData[crmRelatedList.Module]; | |
for (key1 in response) { | |
var dataObj = {}; | |
response.hasOwnProperty(key1) && (dataObj = response[key1], crmRelatedList.EachModuleData[key1] = dataObj), dataObj.proceed = moduleData.proceed; | |
var tableHtmlFun = Handlebars.getTemplate("relatedlist", "RelatedListData"), | |
tableHtml = tableHtmlFun(dataObj); | |
if ("RELATEDLISTPERSONALITY" == dataObj.name) | |
$("#customRelatedListDiv_" + dataObj.listRelationId).html(tableHtml); | |
else if ("RATINGSREVIEWSPERSONALITY" == dataObj.name) { | |
var data = dataObj.REVIEW_DATA, | |
ratingReviewHtml = document.createElement("ratings-reviews"), | |
showttvalue = I18n.getMsg("cl.detailpage.notes.addedbyclientuser", Handlebars.helpers.getCrmModuleInfo("Accounts", "true")); | |
data.picklistmap && data.picklistmap.splice(2, 0, { | |
systemvalue: "Job Based", | |
uservalue: I18n.getMsg("zr.ratings.reviews.job.based.review") | |
}); | |
var revRecords = ZRQuestionnaire.getRatingsReviewsRecords(data), | |
compData = { | |
meta: { | |
isLocked: data.isLocked, | |
isAdminUser: data.isAdminUser, | |
currentUser: data.currentUser, | |
picklistmap: data.picklistmap, | |
leadId: data.leadId, | |
showttvalue: showttvalue | |
}, | |
records: revRecords | |
}; | |
ratingReviewHtml.setData(compData), $("#" + dataObj.listRelationId).html(ratingReviewHtml); | |
var noRecDiv; | |
void 0 === data.MODEL_DATA && void 0 !== (noRecDiv = $("#" + dataObj.listRelationId).find(".norec")[0]) && $(noRecDiv).attr("style", "border-top:0px;") | |
} else | |
"SUPPORTPERSONALITY" == dataObj.name ? $("#supportdiv").html(tableHtml) : "EMAILSPERSONALITY" == dataObj.name ? emailist || $("#" + dataObj.listRelationId).html(tableHtml) : $("#" + dataObj.listRelationId).html(tableHtml); | |
if ($(".atchName a").bind("mouseenter", function() { | |
$(this).outerWidth() > $(this).closest(".atchName").outerWidth() && !$(this).attr("title") && $(this).attr("title", $(this).text().trim()) | |
}), dataObj.isShowColumns) { | |
var columnsList = ""; | |
$("#" + dataObj.name + "_" + dataObj.listRelationId).siblings("#relatedListCols").length && (columnsList = $("#" + dataObj.name + "_" + dataObj.listRelationId).siblings("#relatedListCols")), $("#" + dataObj.name + "_" + dataObj.listRelationId).after(columnsList) | |
} else | |
$("[ddid=" + dataObj.listRelationId + "]").find("#showCustomizeList").remove(); | |
if ("EMAILSPERSONALITY" == dataObj.name && ("Leads" == crmRelatedList.Module || "Vendors" == crmRelatedList.Module || "Contacts" == crmRelatedList.Module || "Accounts" == crmRelatedList.Module || "Potentials" == crmRelatedList.Module || "Quotes" == crmRelatedList.Module || "SalesOrders" == crmRelatedList.Module || "PurchaseOrders" == crmRelatedList.Module || "Invoices" == crmRelatedList.Module || dataObj.isCustomModule || crmRelatedList.Module && -1 !== crmRelatedList.Module.indexOf("CustomModule"))) { | |
dataObj.mailObj.module = crmRelatedList.Module, dataObj.mailObj.entityId = crmRelatedList.EntityId, dataObj.mailObj.loginUserId = Crm.userDetails.USER_ID, dataObj.mailObj.singularMod = Crm.moduleInfo[crmRelatedList.Module][0], dataObj.mailObj.selectedUserid = void 0 !== $("#userSelDropdownInAccNEWInp").data("userid") ? $("#userSelDropdownInAccNEWInp").data("userid") : Crm.userDetails.USER_ID, dataObj.mailObj.selectedUsername = void 0 !== $("#userSelDropdownInAccNEWInp").data("username") ? $("#userSelDropdownInAccNEWInp").data("username") : Crm.userDetails.DISPLAY_NAME, dataObj.mailObj.selectedContact = void 0 !== $("#contactSelDropdownInAcc :selected").attr("value") ? $("#contactSelDropdownInAcc :selected").attr("value") : crmRelatedList.EntityId, dataObj.mailObj.contactEmails = dataObj.contactEmails; | |
for (var allUsersListJson = [], allUsersList = [], i = 0; i < allUsersListJson.length; i++) { | |
var userData = allUsersListJson[i]; | |
if ("user" === userData.type && "Interviewer" !== userData.profileName && "Guest" !== userData.profileName) { | |
var UserName = (userData.firstName && 0 != userData.firstName.length ? userData.firstName + " " : "") + userData.lastName, | |
userMap = {}; | |
userMap.name = UserName, userMap.id = userData.id, allUsersList.push(userMap) | |
} | |
} | |
dataObj.mailObj.usersArray = allUsersList, mailIntegration = 1, dataObj.mailObj.contactObject = dataObj.contactObject, $("#zmailEmail").val(dataObj.contactEmails) | |
} | |
var perActionParam = { | |
actions: dataObj.ACTIONS, | |
rid: dataObj.listRelationId, | |
name: dataObj.name, | |
mailObj: dataObj.mailObj, | |
entityId: crmRelatedList.EntityId, | |
moduleName: crmRelatedList.Module, | |
createAttachTypes: dataObj.createAttachTypes, | |
SELECTED_STATUS: dataObj.SELECTED_STATUS | |
}; | |
dataObj && dataObj.options && (perActionParam.options = JSON.stringify(dataObj.options)), "ACTIVITYPERSONALITY" === dataObj.name && (perActionParam.activityType = dataObj.activityType); | |
var personalityActionFun = Handlebars.getTemplate("relatedlist", "personalityAction"), | |
actionHtml = personalityActionFun(perActionParam); | |
if (0 == dataObj.body.length && "PROJECTSPERSONALITY" != dataObj.name && "ATTACHMENTSPERSONALITY" != dataObj.name ? "SOCIALPERSONALITY" == dataObj.name ? socialPers = !0 : ($("#ract_" + dataObj.listRelationId).html(""), "EMAILSPERSONALITY" == dataObj.name || "PRODUCTSPERSONALITY" == dataObj.name || "ACTIVITYPERSONALITY" === dataObj.name || "OFFERSPERSONALITY" === dataObj.name ? ($("#ract_" + dataObj.listRelationId).html(actionHtml), returnJson && returnJson.recordInStatusProcess && "true" === returnJson.recordInStatusProcess && ("PRODUCTSPERSONALITY" == dataObj.name || "OFFERSPERSONALITY" == dataObj.name) && $("#ract_" + dataObj.listRelationId).find("a").remove()) : "Leads" == crmRelatedList.Module && returnJson && returnJson.recordInStatusProcess && "true" === returnJson.recordInStatusProcess && "PRODUCTSPERSONALITY_SUBMISSIONPERSONALITY_OFFERSPERSONALITY".indexOf(dataObj.name) > -1 || $("#norec_" + dataObj.listRelationId).html(actionHtml)) : "Leads" == crmRelatedList.Module && returnJson && returnJson.recordInStatusProcess && "true" === returnJson.recordInStatusProcess && "PRODUCTSPERSONALITY_SUBMISSIONPERSONALITY_OFFERSPERSONALITY".indexOf(dataObj.name) > -1 ? ($("#ract_" + dataObj.listRelationId).html(actionHtml), $("#ract_" + dataObj.listRelationId).find("a").remove()) : $("#ract_" + dataObj.listRelationId).html(actionHtml), "ACTIVITYPERSONALITY" === dataObj.name && ($("#todosFilter").selectBox("destory").show(), $("#todosFilter").selectBox({ | |
callback: function(type, element) { | |
if ("select" === type) { | |
var selected = element._baseElem.data("selected"), | |
activityType = selected[0].value, | |
data = $("#todosFilter").data(), | |
newParams = { | |
module: data.module, | |
pname: data.pname, | |
id: data.id, | |
activityType: activityType | |
}; | |
crmRelatedList.ajaxReq(newParams, null) | |
} | |
} | |
})), $("#filter_interview").selectBox("destory").show(), $("#filter_interview").selectBox({ | |
parent: $("body"), | |
callback: function(type, element) { | |
if ("select" === type) { | |
var selected = element._baseElem.data("selected"), | |
actualValue = selected[0].value, | |
newParams = { | |
module: module, | |
id: entityId, | |
rid: $("#filter_interview").data("rid"), | |
fromIndex: 1, | |
itype: actualValue | |
}; | |
crmRelatedList.ajaxReq(newParams, null) | |
} | |
} | |
}), "EMAILSPERSONALITY" == dataObj.name) { | |
$("#selectMails, #contactSelDropdownInAcc").selectBox("destory").show(); | |
var $userSelDropDownElem = $("#userSelDropdownInAccNEW"); | |
void 0 !== $userSelDropDownElem.data("userlist") && $("#userSelDropdownInAccNEW").userList("destroy"); | |
var params = { | |
action: "active", | |
multiple: !1, | |
issearch: !0, | |
isgroup: !1, | |
maxselect: 1, | |
val: "ALL" !== dataObj.mailObj.selectedUserid ? dataObj.mailObj.selectedUserid + "" : void 0, | |
type: "EmailRelatedList", | |
format: "Name", | |
callback: function(type, $this, curElem) { | |
if ("select" === type || "create" === type || "open" === type || "search" === type || "next" === type || "prev" === type) { | |
var $elem = $this.$element, | |
$drop = $this._baseElem, | |
elemPos = $elem.offset(); | |
if (elemPos.left + $drop.outerWidth() > window.innerWidth && $drop.css({ | |
left: elemPos.left - $drop.outerWidth() + $elem.outerWidth() + "px" | |
}), "create" === type && $this._dropdown.prepend($this._getItem([{ | |
id: "ALL", | |
profileName: "Administrator", | |
fullName: I18n.getMsg("crm.label.all") | |
}], "user")), "select" === type) { | |
var selected = (curElem.data(), $this._baseElem.data("selected")); | |
$this.$element.find(".chosen-choices").text(""); | |
var $newInp = $("#userSelDropdownInAccNEWInp"); | |
$newInp.data("userid", selected[0].id), $newInp.data("username", "ALL" === selected[0].id && void 0 === selected[0].item ? I18n.getMsg("crm.label.all") : selected[0].item.fullName), $("#userSelDropdownInAccNEWVal").text("ALL" === selected[0].id && void 0 === selected[0].item ? I18n.getMsg("crm.label.all") : selected[0].item.fullName); | |
{ | |
$("#selectMails") | |
} | |
showMailsList($newInp.data("entidforzmail"), "", "", $newInp.data("rid"), "-10", "next", "", "true", $newInp.data("mailmodule"), "true", $newInp) | |
} | |
} | |
} | |
}; | |
$("#selectMails").selectBox(); | |
var $useSelDropDownElem = $("#userSelDropdownInAccNEW"); | |
$useSelDropDownElem.userList(params), $useSelDropDownElem.on("click", function() { | |
var $ulistElem = $("#userSelDropdownInAccNEW-ulist"); | |
$ulistElem.length > 0 && $ulistElem.hasClass("disN") && (sE(event), $useSelDropDownElem.userList("open")) | |
}), $("#contactSelDropdownInAcc").selectBox({ | |
callback: function(type, element) { | |
if ("select" === type || "create" === type || "open" === type) { | |
var $this = $(element._baseElem[0]), | |
$drop = $(element._dropdown[0]), | |
elemPos = $this.offset(); | |
elemPos.left + $drop.outerWidth() > window.innerWidth && $(element._dropdown[0]).css({ | |
left: elemPos.left - $drop.outerWidth() + $this.outerWidth() + "px" | |
}), "create" === type && ($(element._baseElem[0]).addClass("eml minW100 texAL"), $(element._baseElem).prepend("userSelDropdownInAcc" === element.$element[0].id ? "<em class='zrc-tag-label or fieldst'>" + I18n.getMsg("User") + "</em>" : "Leads" == crmRelatedList.Module ? "<em class='zrc-tag-label fieldst'>" + I18n.getMsg("Candidate") + "</em>" : "Vendors" == crmRelatedList.Module ? "<em class='zrc-tag-label fieldst'>" + I18n.getMsg("Vendors") + "</em>" : "<em class='zrc-tag-label fieldst'>" + I18n.getMsg("Contact") + "</em>"), ("Leads" == crmRelatedList.Module || "Contacts" == crmRelatedList.Module || "Vendors" == crmRelatedList.Module) && "contactSelDropdownInAcc" === element.$element[0].id && ($(element._baseElem[0]).addClass("noopt"), $(element._dropdown).remove())) | |
} | |
} | |
}) | |
} | |
"RELATEDLISTPERSONALITY" == dataObj.name && ($("#relPersAction_" + dataObj.listRelationId).html($("#norec_" + dataObj.listRelationId).html()), $("#norec_" + dataObj.listRelationId).remove()), "PROJECTSPERSONALITY" == dataObj.name && (authMsg = dataObj.ProjectObj.authMsg, portalName = dataObj.ProjectObj.portalName, getObj("portalname").value = portalName, void 0 != dataObj.ProjectObj.projectIdList && "" != dataObj.ProjectObj.projectIdList && (projectIntegration = 1, projectListRelationId = dataObj.listRelationId, returnAnchor = dataObj.name.toLowerCase() + "_" + dataObj.listRelationId, projId = dataObj.ProjectObj.projectIdList, $("#norec_" + dataObj.listRelationId).remove())), "SUPPORTPERSONALITY" == dataObj.name && void 0 != dataObj.SupportObj.supportTicket && void 0 != dataObj.SupportObj.supportzuid && (supportIntegration = 1), "ZINVOICEPERSONALITY" == dataObj.name && (invoiceIntegration = 1, invoiceListRelationId = dataObj.listRelationId), "ZEXPENSEPERSONALITY" == dataObj.name && (expenseIntegration = 1, expenseListRelationId = dataObj.listRelationId), "ZSUBSCRIPTIONSPERSONALITY" == dataObj.name && (subscriptionsIntegration = 1, zsubscriptionsListRelationId = dataObj.listRelationId); | |
var relModule = detailView.relatedPersonalityList[dataObj.name]; | |
!isNavigation && relModule && detailView.loadRelatedDetails($("#module").val(), $("#entityId").val(), relModule), "navigate_next_rellist" === clickId && populateRLCount(dataObj.listRelationId, void 0, !0), "ACTIVITIESPERSONALITY" == dataObj.name | |
} | |
Crm.userDetails && Crm.userDetails.PROFILE_NAME && ("Interviewer" == Crm.userDetails.PROFILE_NAME || "Guest" == Crm.userDetails.PROFILE_NAME) && $("#newleft_OrganizeRL").remove(); | |
var accObj = getObj("accountId"), | |
potAccObj = getObj("Potential_accountId"); | |
accObj && potAccObj && (potAccObj.value = accObj.value), getObj("entityName") && getObj("fullname") && (getObj("fullname").value = getObj("entityName").value), getObj("emailId") && getObj("zmailEmail") && (getObj("emailId").value = getObj("zmailEmail").value); | |
var zc_map = "" + projectIntegration + mailIntegration + supportIntegration + invoiceIntegration + expenseIntegration + subscriptionsIntegration; | |
if (zc_map.indexOf("1") > -1) { | |
var cvid = detailView.changedBCJson.hidden.cvid; | |
"EMAILSPERSONALITY" == dataObj.name ? emailist || getIntegList(zc_map, projectListRelationId, crmRelatedList.EntityId, returnAnchor, crmRelatedList.Module, cvid ? cvid : getObj("cvid").value, portalName, authMsg, 1, projId, crmRelatedList.EntityId, invoiceListRelationId, expenseListRelationId, zsubscriptionsListRelationId, "true") : getIntegList(zc_map, projectListRelationId, crmRelatedList.EntityId, returnAnchor, crmRelatedList.Module, cvid ? cvid : getObj("cvid").value, portalName, authMsg, 1, projId, crmRelatedList.EntityId, invoiceListRelationId, expenseListRelationId, zsubscriptionsListRelationId, "true") | |
} | |
if (socialPers && crmSocialInteraction.fetchSocialRelatedList(), moduleData.notes && !($("#noteDetails").length && $("#noteDetails").html().length > 0)) { | |
var templateSource; | |
detailView.notesObj = moduleData.notes, templateSource = moduleData.isOlderNotes ? Handlebars.getTemplate("Notes", "CrmNotes_DetailsPageOlder") : Handlebars.getTemplate("Notes", "CrmNotes_DetailsPage"), $("#relNotesInRL").html(templateSource(moduleData.notes)), $("a.imageGallery").colorbox() | |
} | |
transferRelatedDetails(), placeExtra(), fetchCustomRelatedList(), "navigate_next_rellist" !== clickId && "navigate_previous_rellist" !== clickId && populateRLCount(), "undefined" != typeof Crm && Crm.scrollPage(); | |
var isEntityLocked = "false", | |
isActionsLocked = "false"; | |
"Leads" == crmRelatedList.Module ? (isEntityLocked = $("#isCandidatesLocked").val(), isActionsLocked = $("#isActionsLocked").val()) : "Potentials" == crmRelatedList.Module ? isEntityLocked = $("#isJobopeningLocked").val() : "Contacts" == crmRelatedList.Module ? isActionsLocked = $("#isActionsLocked").val() : "Products" == crmRelatedList.Module && "true" == $("#isInterviewLocked").val() && $("#detail_status_link").remove(), "true" == isEntityLocked && (ZRCommonUtil.removeLinksFromDetailPage(), $("#detail_status_link").remove()), "true" == isActionsLocked && (ZRCommonUtil.removeActionsFromDetailPage(), $("#detail_status_link").remove()), moduleData.lockedUnderApproval && (ZRCommonUtil.removeActionsFromDetailPageforApprovals(), ZRCommonUtil.removeLinksFromDetailPageforApprovals()), crmRelatedList.removeExtraSeparator(), ZRCommonUtil.toggleAnswerSheet() | |
} | |
}, | |
removeExtraSeparator: function() { | |
for (var liElement = $("#customizedd ul li"), len = liElement.length, i = 0; len > i; i++) | |
if (len - 2 >= i) { | |
var liA = liElement[i], | |
liB = liElement[i + 1]; | |
$(liA).hasClass("dd-sep") === !0 && $(liB).hasClass("dd-sep") === !0 && $(liA).remove() | |
} | |
}, | |
mOverEv: function(el) { | |
$("#rlDropDown_" + $(el).attr("ddid")).css("visibility", "visible"), $("#" + $(el).attr("ddname") + "_" + $(el).attr("ddid")).css("visibility", "visible") | |
}, | |
mOutEv: function(el) { | |
"newRlEdit" == $("#rlDropDown_" + $(el).attr("ddid")).attr("class") && $("#rlDropDown_" + $(el).attr("ddid")).css("visibility", "hidden"), "newRlEdit" == $("#" + $(el).attr("ddname") + "_" + $(el).attr("ddid")).attr("class") && $("#" + $(el).attr("ddname") + "_" + $(el).attr("ddid")).css("visibility", "hidden") | |
}, | |
navigate: function(ev, targetElem) { | |
var clickId = $(targetElem).attr("data-cid"), | |
dataObj = {}; | |
targetElem && (dataObj = JSON.parse($(targetElem).attr("data-params"))); | |
var params = {}; | |
"PRODUCTSPERSONALITY" === dataObj.name && (params.itype = $("#filter_interview").val()), params.id = crmRelatedList.EntityId, params.module = crmRelatedList.Module, params.rid = dataObj.rid, params.isSortRequest = !1, "navigate_next_rellist" === clickId ? params.fromIndex = parseInt(dataObj.fromIndex) + 10 : "navigate_previous_rellist" === clickId && (params.fromIndex = parseInt(dataObj.fromIndex) - 10), "ACTIVITYPERSONALITY" === dataObj.name && (params.activityType = $("#todosFilter").val()), crmRelatedList.ajaxReq(params, clickId) | |
}, | |
ajaxReq: function(params, clickId) { | |
var reqPool = new crmRequestPool; | |
loadAjaxTab("", "lightblue"), reqPool.initiate({ | |
action: "/recruit/NewRelatedList.do?action=getData", | |
type: "GET", | |
data: params, | |
success: function(res) { | |
Utils.showHideLoadingDiv(), crmRelatedList.load(params.module, params.id, res, !0, clickId) | |
} | |
}) | |
}, | |
sortColumn: function(ev, targetElem) { | |
var dataParams = JSON.parse($(targetElem).attr("data-params")), | |
dataEnc = $(targetElem).attr("data-enc"), | |
isSortAllowed = !(void 0 !== dataEnc && (dataEnc === !0 || "true" === dataEnc)), | |
fieldLabel = (dataParams.columnName, dataParams.fieldLabel), | |
fieldId = dataParams.fieldId; | |
"" == fieldId && (fieldId = fieldLabel, dataParams.fieldId = fieldLabel); | |
var previousObject = crmRelatedList.getSetSinglePersonalityData(dataParams.rid, "get"), | |
prevSortColumn = previousObject.sortColumnId, | |
prevSortOrder = previousObject.sortOrderString, | |
sortOrderString = (previousObject.module, prevSortOrder); | |
fieldId === prevSortColumn ? "sort_asc" == prevSortOrder && (sortOrderString = "sort_desc") : sortOrderString = "sort_asc"; | |
for (var previousFieldLabel = "", headLabelsLength = previousObject.heading.length, i = 0; headLabelsLength > i; i++) | |
if (previousObject.heading[i].FIELDID == prevSortColumn || "" == previousObject.heading[i].FIELDID && previousObject.heading[i].FIELDLABEL == prevSortColumn) { | |
previousFieldLabel = previousObject.heading[i].FIELDLABEL; | |
{ | |
previousObject.module | |
} | |
previousFieldLabel = previousObject.heading[i].COLUMNNAME == dataParams.columnName ? previousObject.heading[i].FIELDLABEL : previousObject.heading[i].FIELDID; | |
break | |
} | |
void 0 !== isSortAllowed && isSortAllowed && showRelListSortDiv(dataParams.fieldLabel, previousObject.name.toLowerCase() + "_" + previousObject.listRelationId, "" == fieldId ? null : encodeURIComponent(previousFieldLabel), targetElem, ev, "Asc", "Desc", previousFieldLabel, prevSortOrder, "Unsort", !0, fieldId), sE(ev) | |
}, | |
getPersonalityModuleObj: function(pId) { | |
var data = crmRelatedList.EachModuleData; | |
for (key in data) | |
if (data.hasOwnProperty(key) && key == pId) | |
return data[key] | |
}, | |
getSetSinglePersonalityData: function(rId, action, setValue) { | |
var data = crmRelatedList.EachModuleData; | |
for (var key in data) | |
if (data[key].listRelationId == rId) { | |
if ("get" == action) | |
return data[key]; | |
data[key] = setValue | |
} | |
}, | |
getTaregetString: function(rid) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj(rid); | |
return currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId | |
}, | |
toggle: function(event) { | |
var rId = JSON.parse($(event.target).attr("data-params")).rid, | |
listTable = $("div[data-rnode='" + rId + "']"); | |
listTable.toggleClass("listHide") | |
}, | |
checkBodyContent: function(rid) { | |
var rlObj = crmRelatedList.getSetSinglePersonalityData(rid, "get"); | |
return 0 == rlObj.body.length ? !1 : !0 | |
}, | |
checkColumns: function(rid) { | |
var body = crmRelatedList.getPersonalityModuleObj(rid); | |
return 0 == body.length ? !1 : !0 | |
}, | |
createEditLink: function(module, entityId, targetString, recordNum) { | |
var primModule = crmRelatedList.Module, | |
parentEditentityId = crmRelatedList.EntityId, | |
url = "/recruit/EditEntity.do?module=" + encodeURIComponent(module) + "&id=" + entityId + "&returnAnchor=" + targetString + "&editprimmodule=" + (null == primModule ? null : encodeURIComponent(primModule)) + "&parenteditentityid=" + parentEditentityId; | |
return void 0 != recordNum && (url = url + "&recordNum=" + (null == recordNum ? null : encodeURIComponent(recordNum))), url | |
}, | |
createDeleteLink: function(module, entityId, targetString, isToModuleNeeded, isCustLookUp, toModule) { | |
var primModule = crmRelatedList.Module, | |
parentEditentityId = crmRelatedList.EntityId, | |
url = "/recruit/MassDelete.do?module=" + encodeURIComponent(module) + "&id=" + entityId + "&actModule=" + (null == primModule ? null : encodeURIComponent(primModule)) + "&actId=" + parentEditentityId + "&nextStep=relatedlist"; | |
return isToModuleNeeded && (url = url + "&tomodule=" + encodeURIComponent(toModule)), void 0 != isCustLookUp && (url = url + "&isCustLukup=" + isCustLookUp), url = url + "&isajax=true#" + targetString, targetString && "productspersonality" === targetString.split("_")[0] && (url = void 0 !== $("#filter_interview").val() ? url + "&itype=" + $("#filter_interview").val() : url + "&itype=ALL"), url | |
}, | |
createStatusChangeLink: function(rid, module, entityId, targetString) { | |
var primModule = crmRelatedList.Module, | |
parentEditentityId = crmRelatedList.EntityId, | |
personalityData = crmRelatedList.getSetSinglePersonalityData(rid, "get"), | |
previous_sort_column = personalityData.sortColumnId, | |
previous_sort_order = personalityData.sortOrderString, | |
url = "/recruit/CampaignStatusChange.do?module=" + encodeURIComponent(module) + "&id=" + entityId + "&parentModule=" + (null == primModule ? null : encodeURIComponent(primModule)) + "&action=showStatus&parentId=" + parentEditentityId + "&isajax=true&returnAnchor=" + targetString + "&sortColumnString_" + rid + "=" + (null == previous_sort_column ? null : encodeURIComponent(previous_sort_column)) + "&sortOrderString_" + rid + "=" + (null == previous_sort_column ? null : encodeURIComponent(previous_sort_order)) + "&listRelationID=" + rid; | |
return url | |
}, | |
createCloseLink: function(entityId, targetString) { | |
var module = crmRelatedList.Module, | |
url = "/recruit/closeTask.do?action=CloseTask&taskid=" + entityId + "&&module=" + (null == module ? null : encodeURIComponent(module)) + "&id=" + crmRelatedList.EntityId + "&nextStep=relatedlist&isajax=true#" + targetString; | |
return url | |
}, | |
creareEditLinkForProducts: function(rid, personality, targetString, entityId, fromModule, toModule) { | |
var module = crmRelatedList.Module; | |
return "/recruit/ShowMultiValuesForAdd.do?moduleid=" + crmRelatedList.EntityId + "&rid=" + rid + "&pname=" + personality + "&returnAnchor=" + targetString + "&tomodule=" + encodeURIComponent(toModule) + "&Edit=true&othermoduleid=" + entityId + "&frommodule=" + (null == module ? null : encodeURIComponent(module)) | |
}, | |
createRemoveLinkForContactRole: function(contactId, potentialId, targetString) { | |
var appendIds = ""; | |
return null != contactId && (appendIds = appendIds + "&whoId=" + contactId), null != potentialId && (appendIds = appendIds + "&whatId=" + potentialId), "/recruit/potentials/deleteContPotRel.do?module=Potentials" + appendIds + "&nextStep=relatedlist&isajax=true#" + targetString | |
}, | |
attachDocuments: function(event) { | |
$(".atch-droplist").hide(0), crmRelatedList.attachCloudPicker(event, "#documentsTab") | |
}, | |
attachDesktop: function(event) { | |
$(".atch-droplist").hide(0), crmRelatedList.attachCloudPicker(event, "#desktopTab") | |
}, | |
attachZDocs: function() { | |
$(".atch-droplist").hide(0), openForDocs("zdoc", Crm.RebrandProperties.docsURL) | |
}, | |
attachGDocs: function(event) { | |
$(".atch-droplist").hide(0), crmRelatedList.attachCloudPicker(event, "#cloudPickerTab") | |
}, | |
attachLink: function() { | |
crmRelatedList.refreshInput(), showAnimatePopup("addLinkPop"), $(".atch-droplist").hide(0) | |
}, | |
attachCloudPicker: function(event, selectedTab) { | |
$(".atch-droplist").hide(0); | |
var tgt = $(event.target), | |
uploadElem = tgt.parents("td").eq(0).find("#uploadElement").eq(0); | |
if (0 == uploadElem.length) { | |
var personalityid = tgt.data("relid"); | |
personalityid && (uploadElem = $("#ract_" + personalityid).find("#uploadElement").eq(0)) | |
} | |
var attachmentParams = {}; | |
attachmentParams.entityId = uploadElem.data("entityid"), attachmentParams.module = uploadElem.data("module"), attachmentParams.zgid = Crm.userDetails.ZGID, attachmentParams.catIds = JSON.stringify(uploadElem.data("options")), openAttachmentComponent(attachmentParams, void 0, void 0, selectedTab, void 0) | |
}, | |
directUpload: function(event) { | |
var tgt = $(event.target), | |
uploadElem = tgt.parents("td").eq(0).find("#uploadElement"), | |
attachmentParams = {}; | |
attachmentParams.entityId = uploadElem.data("entityid"), attachmentParams.module = uploadElem.data("module"), attachmentParams.catIds = JSON.stringify(uploadElem.data("options")), triggerFileClickForDetailPage(attachmentParams) | |
}, | |
addNew: function(event, targetElem) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
dataParams = { | |
module: currentRelModel.module, | |
primid: crmRelatedList.EntityId, | |
primmodule: encodeURIComponent(crmRelatedList.Module), | |
returnAnchor: currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId, | |
listRelationId: currentRelModel.listRelationId, | |
calleeObj: "Crm", | |
clickId: "createbtn" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
addProducts: function(event) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
personalityString = currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId; | |
addMultiValue(crmRelatedList.EntityId, encodeURIComponent(crmRelatedList.Module), encodeURIComponent(currentRelModel.module), personalityString, void 0, void 0, currentRelModel.listRelationId) | |
}, | |
addPotentialsProducts: function(event) { | |
var parentCurrencyISOCode, | |
parentExchangeRate, | |
currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
personalityString = currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId; | |
parentCurrencyISOCode = getObj("parentCurrencyISOCode").value, parentExchangeRate = getObj("parentExchangeRate").value, addMultiValue(crmRelatedList.EntityId, encodeURIComponent(crmRelatedList.Module), encodeURIComponent(currentRelModel.module), personalityString, parentCurrencyISOCode, parentExchangeRate, currentRelModel.listRelationId) | |
}, | |
importListPrice: function(event, targetElem) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
dataParams = { | |
module: encodeURIComponent(currentRelModel.module), | |
priceBookId: crmRelatedList.EntityId, | |
dataScope: "myData", | |
calleeObj: "Crm", | |
clickId: "importbtn" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
editProducts: function(event) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")); | |
editAllValues(crmRelatedList.EntityId, encodeURIComponent(crmRelatedList.Module), encodeURIComponent(currentRelModel.module), void 0, void 0, currentRelModel.listRelationId, currentRelModel.name) | |
}, | |
newTask: function(event, targetElem) { | |
selectAction("NewTask", crmRelatedList.getTaregetString($(event.target).attr("data-relid")), encodeURIComponent(crmRelatedList.Module), crmRelatedList.EntityId, targetElem) | |
}, | |
newEvent: function(event, targetElem) { | |
Events.globalCreate(event, "relatedlist_new", targetElem) | |
}, | |
logCall: function(event, targetElem) { | |
selectAction("NewCall", crmRelatedList.getTaregetString($(event.target).attr("data-relid")), encodeURIComponent(crmRelatedList.Module), crmRelatedList.EntityId, targetElem) | |
}, | |
sendMailEvent: function() { | |
var singular_module = Crm.moduleInfo[crmRelatedList.Module][0]; | |
EntSendMail(encodeURIComponent(crmRelatedList.Module), crmRelatedList.EntityId, "", singular_module) | |
}, | |
addCampaigns: function(event) { | |
crmRelatedList.addProducts(event) | |
}, | |
newPotential: function(event, targetElem) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
dataParams = { | |
module: encodeURIComponent(currentRelModel.module), | |
primid: crmRelatedList.EntityId, | |
primmodule: encodeURIComponent(crmRelatedList.Module), | |
returnAnchor: currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId, | |
listRelationId: currentRelModel.listRelationId, | |
ownerId: $.parseJSON($("#ownerName_id").attr("data-params")).userId, | |
isCustLookup: !1, | |
calleeObj: "Crm", | |
clickId: "createbtn" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
newPotentialForContacts: function(event, targetElem) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
dataParams = { | |
module: encodeURIComponent(currentRelModel.module), | |
primid: crmRelatedList.EntityId, | |
primmodule: encodeURIComponent(crmRelatedList.Module), | |
returnAnchor: currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId, | |
listRelationId: currentRelModel.listRelationId, | |
cvid: getObj("cvid").value, | |
recordNum: getObj("recordNum").value, | |
relmodule: encodeURIComponent(crmRelatedList.Module), | |
calleeObj: "Crm", | |
clickId: "createbtn" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
newCompetitor: function(event) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")); | |
selectAction("Competitor", crmRelatedList.getTaregetString($(event.target).attr("data-relid")), void 0, void 0, currentRelModel.listRelationId) | |
}, | |
addContactRoles: function(event, targetElem) { | |
var dataParams = { | |
returnAnchor: crmRelatedList.getTaregetString($(event.target).attr("data-relid")), | |
calleeObj: "Crm", | |
clickId: "addContactRole" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
editContactRoles: function(event, targetElem) { | |
var dataParams = { | |
returnAnchor: crmRelatedList.getTaregetString($(event.target).attr("data-relid")), | |
calleeObj: "Crm", | |
clickId: "editContactRole" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
newProject: function() { | |
selectAction("Project", crmRelatedList.getTaregetString($(event.target).attr("data-relid"))) | |
}, | |
newAssociateProject: function() { | |
selectAction("Associate Project", crmRelatedList.getTaregetString($(event.target).attr("data-relid"))) | |
}, | |
addRecords: function(event, targetElem) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
dataParams = { | |
module: encodeURIComponent(currentRelModel.module), | |
actiontype: "mass_addRecords", | |
lookback: "showdetails", | |
entityId: crmRelatedList.EntityId, | |
recordName: getObj("entityName").value, | |
calleeObj: "Crm", | |
clickId: "addRecords" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
importAction: function(event, targetElem) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
dataParams = { | |
module: encodeURIComponent(currentRelModel.module), | |
campaignId: crmRelatedList.EntityId, | |
dataScope: "myData", | |
calleeObj: "Crm", | |
clickId: "importbtn" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
updateCampaignStatus: function(event) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")); | |
updateCampaignStatusWizard(encodeURIComponent(crmRelatedList.Module), encodeURIComponent(currentRelModel.module), crmRelatedList.EntityId) | |
}, | |
importOrgAction: function(event, targetElem) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target).attr("data-relid")), | |
dataParams = { | |
module: encodeURIComponent(currentRelModel.module), | |
campaignId: crmRelatedList.EntityId, | |
dataScope: "myOrgData", | |
calleeObj: "Crm", | |
clickId: "importbtn" | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), Crm.addToHistory(event, targetElem) | |
}, | |
hideRLPersonality: function(event) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target.parentElement).attr("data-relid")); | |
doCustomRleatedList(currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId, "hide") | |
}, | |
reorderRLPersonality: function(event) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target.parentElement).attr("data-relid")); | |
doCustomRleatedList(currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId, "reorder") | |
}, | |
editRLPersonality: function(event) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target.parentElement).attr("data-relid")); | |
doCustomRleatedList(currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId, "edit") | |
}, | |
deleteRLPersonality: function(event) { | |
var currentRelModel = crmRelatedList.getPersonalityModuleObj($(event.target.parentElement).attr("data-relid")); | |
doCustomRleatedList(currentRelModel.name.toLowerCase() + "_" + currentRelModel.listRelationId, "del") | |
}, | |
sendsurvey: function(event, targetElem) { | |
var singular_module = Crm.moduleInfo[crmRelatedList.Module][0], | |
dataParams = { | |
action: "surveyDetails", | |
from: "sendsurvey", | |
entityId: crmRelatedList.EntityId, | |
module: crmRelatedList.Module, | |
singularmod: singular_module | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), ZSurvey.showSurveyDetails(targetElem) | |
}, | |
attendsurvey: function(event, targetElem) { | |
var singular_module = Crm.moduleInfo[crmRelatedList.Module][0], | |
dataParams = { | |
action: "surveyDetails", | |
from: "attendsurvey", | |
entityId: crmRelatedList.EntityId, | |
module: crmRelatedList.Module, | |
singularmod: singular_module | |
}; | |
$(targetElem).attr("data-params", JSON.stringify(dataParams)), ZSurvey.showSurveyDetails(targetElem) | |
}, | |
showatchPop: function(ev, ele) { | |
"none" == $(ele).parent().children("ul").css("display") ? $(ele).parent().children("ul").stop().slideDown(200) : $(ele).parent().children("ul").stop().slideUp(0) | |
}, | |
showAtch_cntPop: function(eleId) { | |
$("#" + eleId).addClass("zcrm-show") | |
}, | |
enableBtnAtc: function(ele) { | |
"" != $(ele).val() ? $("#attachlinkbtn").removeAttr("disabled") : $("#attachlinkbtn").attr("disabled", "disabled") | |
}, | |
openLinkAndTitleChange: function(url, linkURL, ele) { | |
window.open(linkURL), $.ajax({ | |
type: "GET", | |
url: url, | |
success: function(res) { | |
if ("" != res) { | |
var json = JSON.parse(res); | |
json.hasOwnProperty("Changed_Name") && ($(ele).closest("td").css({ | |
"border-left-color": "#f00", | |
"border-left-width": "2px", | |
"border-left-style": "solid" | |
}), ele.textContent = json.Changed_Name) | |
} | |
} | |
}) | |
}, | |
refreshInput: function() { | |
$("#attachmentUrl").closest("td").replaceWith('<td><input type="text" name="attachmentUrl" id="attachmentUrl" oninput="crmRelatedList.enableBtnAtc(this);" style="width:100%" maxlength="3000" /></td>'), crmRelatedList.enableBtnAtc($("#attachmentUrl")) | |
}, | |
addLink: function() { | |
Utils.showHideLoadingDiv(!0); | |
var linkUrl = $("#attachmentUrl").val(); | |
if (linkUrl.length > 3e3) | |
return Utils.showHideLoadingDiv(!1), Utils.showErrorMsg(I18n.getMsg("maxlenmsg"), $("#attachmentUrl").closest("td"), $("#attachmentUrl").closest("td")), !1; | |
if (!Utils.isValidWebUrl(linkUrl)) | |
return Utils.showHideLoadingDiv(!1), Utils.showErrorMsg(I18n.getMsg("crm.custombutton.valid.url.check"), $("#attachmentUrl").closest("td"), $("#attachmentUrl").closest("td")), !1; | |
var reqUrl = document.linkAttachForm.action; | |
getElemById("attachTotCnt") && (reqUrl += "&attachTotCnt=" + getElemById("attachTotCnt").value); | |
var postData = $(document.linkAttachForm).serialize(); | |
return $.ajax({ | |
type: "POST", | |
url: reqUrl, | |
data: postData, | |
success: function(res) { | |
if (Utils.showHideLoadingDiv(!1), "Link already exists" == res) | |
Utils.showErrorMsg(I18n.getMsg("crm.attach.link.exists"), $("#attachmentUrl").closest("td"), $("#attachmentUrl").closest("td")); | |
else if (hideAnimatePopup("addLinkPop"), getElemById("attachTotCnt")) { | |
var tempDiv = document.createElement("tempDivForAttLink"); | |
tempDiv.innerHTML = res; | |
var eventAttachmentDiv = getElemById("eventAttachmentDiv"); | |
eventAttachmentDiv.appendChild(tempDiv), EvalInnerScript(tempDiv), eventAttachmentDiv.removeChild(tempDiv) | |
} else | |
crmRelatedList.load(crmRelatedList.Module, crmRelatedList.EntityId, res) | |
}, | |
error: function() { | |
hideAnimatePopup("addLinkPop"), Utils.showHideLoadingDiv(!1) | |
} | |
}), !1 | |
}, | |
relListClientSubmission: function() { | |
ZRMailUtil.singleForwardToClient(crmRelatedList.EntityId) | |
}, | |
relShareToVendors: function() { | |
ZRVendorPortal.shareToVendors(crmRelatedList.EntityId) | |
}, | |
restrictProcessing: function(event) { | |
var param = {}, | |
targetElem = $(event.target), | |
invokeId = targetElem.data("cid"), | |
entityName = $("#entityName").val(), | |
str = ""; | |
param.entityId = this.EntityId, param.entityName = entityName, param.step = "restrictProcessing", param.module = getObj("module").value, "restrictProcessing" == invokeId ? (str = I18n.getMsg("crm.request.restrict.processing.message", entityName), showDeletePopup(str, "crm.request.restrict.processing.confirmation", "", "", ""), $("#candInnerQV").length > 0 && $("#candInnerQV").css("z-index", "21")) : "removeRestriction" == invokeId && (str = I18n.getMsg("crm.request.remove.restriction.message", entityName), showDeletePopup(str, "crm.request.remove.restriction.confirmation", "", "", "")), $("#deletepopup").find("#deleteButton").click(function() { | |
url = "/recruit/restrictProcessing.do", ZRCommonUtil.ajaxPostMethod(url, param, !1, "json", void 0, function(data, undefined) { | |
if ($("#deletepopup").is(":visible") && hideAnimatePopup("deletepopup"), "Success" == data.message) { | |
if ("restrictProcessing" == invokeId) { | |
if ($("#candInnerQV").length > 0) | |
ZRQuickView.unfreezeQuickView(), $("#candInnerQV").removeClass("slideInRight").addClass("slideOutRight"), $("#fetchdate_title").click(); | |
else { | |
ZRCommonUtil.removeActionsFromDetailPage(), $("#detail_status_link").remove(); | |
var restrictionElement = $("[data-cid=restrictProcessing]"); | |
if (restrictionElement.length > 0) { | |
var createElem = Utils.createHTML({ | |
name: "li", | |
child: [{ | |
name: "a", | |
html: I18n.getMsg("crm.request.remove.restriction"), | |
attr: { | |
href: "javascript:;", | |
"data-callid": "removeRestriction", | |
"data-cid": "removeRestriction", | |
name: "removeRestriction", | |
"data-zcqa": "removeRestriction", | |
title: I18n.getMsg("crm.request.remove.restriction") | |
} | |
}] | |
}); | |
$("#CustomizeActionDD ul").append(createElem), restrictionElement.remove() | |
} | |
} | |
return | |
} | |
var url = "/recruit/ShowEntityInfo.do?id=" + getObj("id").value + "&module=" + getObj("module").value + "&cvid=" + getObj("cvid").value + "&recordNum=" + getObj("recordNum").value; | |
return detailView.load(url, undefined, undefined, "show"), void crmTab.deleteFromCache(module) | |
} | |
}, function(xhr) { | |
xhr.responseText, xhr.status | |
}) | |
}) | |
}, | |
reactivateCandidate: function() { | |
var param = {}, | |
entityName = $("#entityName").val(), | |
str = I18n.getMsg("crm.request.reactivate.candidate.message", entityName); | |
param.entityId = this.EntityId, param.entityName = entityName, param.module = getObj("module").value, param.step = "reactivateCandidate", showDeletePopup(str, "crm.request.reactivate.candidate.confirmation", "", "", ""), $("#deletepopup").find("#deleteButton").click(function() { | |
url = "/recruit/reactivateCandidate.do", ZRCommonUtil.ajaxPostMethod(url, param, !1, "json", void 0, function(data) { | |
return $("#deletepopup").is(":visible") && hideAnimatePopup("deletepopup"), "Success" == data.message ? void this.recordNavigation() : void 0 | |
}, function(xhr) { | |
xhr.responseText, xhr.status | |
}) | |
}) | |
}, | |
generateOfferLetter: function(ev, targetElem) { | |
ZROfferUtil.generateOfferLetter(ev, targetElem) | |
}, | |
relQuickActionHandler: function(event) { | |
var targetElem = $(event.target), | |
invokeId = targetElem.data("callid"); | |
if ($("#zia-suggestions zia-suggestions").length > 0 && $("#candInnerQV #" + invokeId).length > 0 ? $("#candInnerQV #" + invokeId).trigger("click") : $("#" + invokeId).trigger("click"), "sendEntityMailLink" === invokeId && 0 === $("#sendEntityMailLink").size()) { | |
var msg = I18n.getMsg("crm.templateedit.massmail.unableto", I18n.getMsg(module)), | |
params = { | |
type: "failure-box", | |
boldmsg: "", | |
msg: msg, | |
display: "pop", | |
duration: 3500 | |
}; | |
return void ZRComponent.openAlertMessage(params) | |
} | |
}, | |
requestGDPRConsent: function(event) { | |
$(event.target); | |
ZRMailUtil.requestGDPRConsent(crmRelatedList.EntityId, crmRelatedList.Module) | |
}, | |
relHandleAssociateQuestionnaire: function(event) { | |
var target = $(event.target); | |
ZRQuestionnaire.associateQuestionnaire(target) | |
}, | |
relHandleRemoveQuestionnaire: function(event) { | |
var target = $(event.target); | |
ZRQuestionnaire.removeAssociation(target) | |
}, | |
findMatchingRecords: function(event) { | |
var tgt = $(event.target), | |
data = $(tgt).data("params"); | |
ZRSME.validateEntity(data.module, data.entityid, data.quickView) | |
}, | |
enrichEntity: function(event) { | |
var tgt = $(event.target), | |
params = $(tgt).data("params"), | |
content = document.createElement("zr-enrich"); | |
content.setData({ | |
isLoaded: !1 | |
}), $("body").append(content), store.findAll("zr-enrich", { | |
id: params.entityid, | |
module: params.module | |
}).then(function(data) { | |
if (data && "success" === data.message) | |
store.findRecord(moduleRecordMapping[params.module].id, params.entityid).then(function() { | |
document.getElementsByTagName("zr-enrich")[0].setData({ | |
entity: store.peekRecord(moduleRecordMapping[params.module].id, params.entityid), | |
enriched: data, | |
isLoaded: !0 | |
}) | |
}); | |
else if (data && "limitreached" === data.message) { | |
var cData = { | |
isLoaded: !0, | |
entityid: params.entityid, | |
module: params.module, | |
reason: data.reason, | |
showreload: !1 | |
}; | |
document.getElementsByTagName("zr-enrich")[0].setData(cData) | |
} else { | |
var cData = { | |
isLoaded: !0, | |
entityid: params.entityid, | |
module: params.module, | |
reason: data.reason | |
}; | |
data && data.lnurl && (cData.showreload = !1), document.getElementsByTagName("zr-enrich")[0].setData(cData) | |
} | |
}) | |
}, | |
publishToJB: function() { | |
var tgt = $(event.target), | |
data = $(tgt).data("params"); | |
ZRPublishUtil.validateAndPublishJO(data && data.quickView ? !0 : !1) | |
}, | |
rePublishToJB: function() { | |
ZRJobBoardsUtil.rePublishRLAction() | |
}, | |
unPublishFromJB: function(event) { | |
var target = $(event.target); | |
ZRJobBoardsUtil.unPublishRLAction(target) | |
}, | |
unPublishAllFromJB: function() { | |
ZRJobBoardsUtil.unPublishAllRLAction() | |
}, | |
editWebFormJB: function() { | |
ZRJobBoardsUtil.changeWebFormRLAction() | |
}, | |
publishUrlJB: function() { | |
ZRJobBoardsUtil.publishUrlJobRLAction() | |
}, | |
changeMemberStatus: function() { | |
updateCampaignStatusWizard("Potentials", "Leads", crmRelatedList.EntityId) | |
}, | |
relListSendSMS: function() { | |
$("#qv-main-container").length > 0 ? ZRSMSUtil.loadSendSMS(JSON.parse($("#qv-main-container").attr("data-params")).module, crmRelatedList.EntityId, "detailPage") : ZRSMSUtil.loadSendSMS(crmRelatedList.Module, crmRelatedList.EntityId, "detailPage") | |
}, | |
unAssociateLinkClickHandler: function(event, targetElem) { | |
$(targetElem).data("params") ? $(targetElem).data("params") : {}; | |
ZRAssociateUtil.actionEvent(event, '"+potentialid+"', '"+recordName+"'), sE(event) | |
}, | |
loadCrmSyncedRecordActivitiesOpen: function(event, targetElem) { | |
ZRNoteUtil.loadCrmSyncedRecordActivities(targetElem, "open") | |
}, | |
loadCrmSyncedRecordActivitiesClosed: function(event, targetElem) { | |
ZRNoteUtil.loadCrmSyncedRecordActivities(targetElem, "closed") | |
}, | |
clickEventIdVsMethodMapping: { | |
toggleList: "crmRelatedList.toggle", | |
navigate_previous_rellist: "crmRelatedList.navigate", | |
navigate_next_rellist: "crmRelatedList.navigate", | |
sortColumnRL: "crmRelatedList.sortColumn", | |
attachDocuments: "crmRelatedList.attachDocuments", | |
attachDesktop: "crmRelatedList.attachDesktop", | |
attachZDocs: "crmRelatedList.attachZDocs", | |
attachGDocs: "crmRelatedList.attachGDocs", | |
attachLink: "crmRelatedList.attachLink", | |
addProducts: "crmRelatedList.addProducts", | |
addNew: "crmRelatedList.addNew", | |
addVendorProducts: "crmRelatedList.addVendorProducts", | |
addPotentialsProducts: "crmRelatedList.addPotentialsProducts", | |
importListPrice: "crmRelatedList.importListPrice", | |
editProducts: "crmRelatedList.editProducts", | |
newTask: "crmRelatedList.newTask", | |
newEvent: "crmRelatedList.newEvent", | |
logCall: "crmRelatedList.logCall", | |
getCrmActivitiesOpen: "crmRelatedList.loadCrmSyncedRecordActivitiesOpen", | |
getCrmActivitiesClosed: "crmRelatedList.loadCrmSyncedRecordActivitiesClosed", | |
sendMailEvent: "crmRelatedList.sendMailEvent", | |
addCampaigns: "crmRelatedList.addProducts", | |
newPotential: "crmRelatedList.newPotential", | |
newPotentialForContacts: "crmRelatedList.newPotentialForContacts", | |
newCompetitor: "crmRelatedList.newCompetitor", | |
addContactRoles: "crmRelatedList.addContactRoles", | |
editContactRoles: "crmRelatedList.editContactRoles", | |
newProject: "crmRelatedList.newProject", | |
newAssociateProject: "crmRelatedList.newAssociateProject", | |
addRecordsRL: "crmRelatedList.addRecords", | |
importAction: "crmRelatedList.importAction", | |
updateCampaignStatus: "crmRelatedList.updateCampaignStatus", | |
importOrgAction: "crmRelatedList.importOrgAction", | |
hideRLPersonality: "crmRelatedList.hideRLPersonality", | |
reorderRLPersonality: "crmRelatedList.reorderRLPersonality", | |
editRLPersonality: "crmRelatedList.editRLPersonality", | |
deleteRLPersonality: "crmRelatedList.deleteRLPersonality", | |
sendsurvey: "crmRelatedList.sendsurvey", | |
attendsurvey: "crmRelatedList.attendsurvey", | |
relClientSubmission: "crmRelatedList.relListClientSubmission", | |
generateOfferLetter: "crmRelatedList.generateOfferLetter", | |
link_relJBPublish: "crmRelatedList.publishToJB", | |
link_relJBRePublish: "crmRelatedList.rePublishToJB", | |
link_relJBUnPublish: "crmRelatedList.unPublishFromJB", | |
link_relJBUnPublishAll: "crmRelatedList.unPublishAllFromJB", | |
link_relJBEditWebForm: "crmRelatedList.editWebFormJB", | |
link_relJBPublishUrl: "crmRelatedList.publishUrlJB", | |
changeMemberStatus: "crmRelatedList.changeMemberStatus", | |
relListSendSMS: "crmRelatedList.relListSendSMS", | |
relQuickAction: "crmRelatedList.relQuickActionHandler", | |
requestGDPRConsent: "crmRelatedList.requestGDPRConsent", | |
restrictProcessing: "crmRelatedList.restrictProcessing", | |
reactivateCandidate: "crmRelatedList.reactivateCandidate", | |
removeRestriction: "crmRelatedList.restrictProcessing", | |
relAssociateQuestionnaire: "crmRelatedList.relHandleAssociateQuestionnaire", | |
relRemoveQuestionnaire: "crmRelatedList.relHandleRemoveQuestionnaire", | |
relShareToVendors: "crmRelatedList.relShareToVendors", | |
findMatchingRecords: "crmRelatedList.findMatchingRecords", | |
enrichEntity: "crmRelatedList.enrichEntity", | |
showatchpop: "crmRelatedList.showatchPop" | |
}, | |
clickHandler: function(ev, targetElem, clickId) { | |
return this.clickEventIdVsMethodMapping[clickId] ? (Utils.executeFunctionByName(this.clickEventIdVsMethodMapping[clickId], window, ev, targetElem), !1) : !0 | |
} | |
}, Handlebars.registerHelper("hasInterviewRecords", function(relId, op) { | |
var personality = crmRelatedList.EachModuleData[relId]; | |
return "PRODUCTSPERSONALITY" == personality.name && personality.body.length > 0 ? op.fn(this) : op.inverse(this) | |
}), Handlebars.registerHelper("stringify", function(obj) { | |
return JSON.stringify(obj) | |
}), Handlebars.registerHelper("isDefaultMailFilter", function() { | |
return JSON.stringify(obj) | |
}), Handlebars.registerHelper("showNavigation", function(fromIndex, toIndex, limit, list, op) { | |
return fromIndex = parseInt(fromIndex), toIndex = parseInt(toIndex), fromIndex >= parseInt(limit) || list.length >= parseInt(limit) ? op.fn(this) : op.inverse(this) | |
}), Handlebars.registerHelper("isNotUndefined", function(val, op) { | |
return val ? op.fn(this) : op.inverse(this) | |
}), Handlebars.registerHelper("isBodyContentAvailable", function(rid, op) { | |
return crmRelatedList.checkBodyContent(rid) ? op.fn(this) : op.inverse(this) | |
}), Handlebars.registerHelper("compareNumbers", function(val1, val2, op) { | |
return val1 === val2 ? op.fn(this) : op.inverse(this) | |
}), Handlebars.registerHelper("getId", function(name, id) { | |
var ret = ""; | |
return ret = "RELATEDLISTPERSONALITY" == name ? "customRelatedListDiv_" + id : "SUPPORTPERSONALITY" == name ? "supportdiv" : id | |
}), Handlebars.registerHelper("getStyleAttr", function(name, op) { | |
return "RELATEDLISTPERSONALITY" != name && "SUPPORTPERSONALITY" != name ? op.fn(this) : op.inverse(this) | |
}), Handlebars.registerHelper("checkForRlHandling", function(val1, val2, personality, op) { | |
return "COMPETITORNAME" == val1[val2].COLUMNNAME ? op.fn(this) : ("SUBJECT" != val1[val2].COLUMNNAME || "ACTIVITYHISTORYPERSONALITY" != personality && "ACTIVITYPERSONALITY" != personality) && ("ATTACHMENTSPERSONALITY" != personality || "NAME" != val1[val2].COLUMNNAME && "ATTACHMENTSIZE" != val1[val2].COLUMNNAME && "MODIFIEDTIME" != val1[val2].COLUMNNAME && "LABEL" != val1[val2].COLUMNNAME) && ("SURVEYPERSONALITY" != personality || "UNIQUEID" != val1[val2].COLUMNNAME && "SOURCE" != val1[val2].COLUMNNAME) && ("SMSPERSONALITY" != personality || "Message" != val1[val2].FIELDLABEL && "Status" != val1[val2].FIELDLABEL) ? op.inverse(this) : op.fn(this) | |
}), Handlebars.registerHelper("chattedDiv", function(chatted) { | |
return void 0 != chatted && 0 != chatted ? "<td><span class='siq-chatted'></span></td>" : "<td></td>" | |
}), Handlebars.registerHelper("checkStringRL", function(value, heading, index, body, module, rid, personality, fromIndex, option) { | |
var res = ""; | |
if ("COMPETITORSPERSONALITY" == personality) | |
res = "<a id='relatedList_" + body.ENTITYID + "' data-zcqa='relatedList_" + option.fn(this) + "' class='link' href='javascript:;' onclick='Utils.openCustomLookup(\"/recruit/potentials/ViewCompetitor.do?id=" + body.ENTITYID + "&module=Potentials&returnAnchor=competitorspersonality_" + rid + '", undefined, "topBandPopup");\'>' + option.fn(this) + "</a>"; | |
else if ("SMSPERSONALITY" == personality) | |
"Message" == heading[index].FIELDLABEL ? (res = '<input id="smsIndex" type="hidden" value=' + index + ">", res += body.incoming ? '<span class="sms-blue-icon"></span>' : '<span class="sms-green-icon"></span>', value.length > 30 && (value = value.substring(0, 29) + "..."), res += '<a href="javascript:;" onclick="ZRSMSUtil.loadSendSMS(\'' + module + "','" + body.entityId + "','detailPage'," + fromIndex + ",'" + body.SMSHistoryId + "');sE(event);\" >" + $ESAPI.encoder().encodeForHTML(value) + "</a>") : "Status" == heading[index].FIELDLABEL && ("Success" == body.isSuccess || 1 == body.isSuccess ? res = "queued" == value ? "<span class='sms-orange' >" + I18n.getMsg("crm.sms.status.queued") + "</span>" : "received" == value ? "<span class='colGR' >" + I18n.getMsg("Received") + "</span>" : "<span class='colGR' >" + I18n.getMsg("Delivered") + "</span>" : (res += '<span class="fL sms-fail mR5">' + I18n.getMsg("crm.sms.status.failed"), res += '<span class="sms-failed-icon fL"></span>', res += '<span class="sms-failedpop">' + $ESAPI.encoder().encodeForHTML(value) + "</span></span>")); | |
else if ("ACTIVITYHISTORYPERSONALITY" == personality || "ACTIVITYPERSONALITY" == personality) { | |
var pn = "ap"; | |
pn = "ACTIVITYHISTORYPERSONALITY" == personality ? "ahp" : "ACTIVITYPERSONALITY" == personality ? "ap" : pn; | |
var head = { | |
Leads: "LASTNAME", | |
Activities: "SUBJECT", | |
Accounts: "ACCOUNTNAME", | |
Contacts: "LASTNAME", | |
Potentials: "POTENTIALNAME", | |
Campaigns: "CAMPAIGNNAME", | |
Cases: "CASESUBJECT", | |
Solutions: "SOLUTIONTITLE", | |
Products: "PRODUCTNAME", | |
Vendors: "VENDORNAME", | |
PriceBooks: "BOOKNAME", | |
Quotes: "QUOTESUBJECT", | |
SalesOrders: "SALESORDERSUBJECT", | |
PurchaseOrders: "PURCHASEORDERSUBJECT", | |
Invoices: "INVOICESUBJECT", | |
Forecasts: "FORECASTNAME", | |
Visits: "VISITEDPAGE" | |
}; | |
if (0 == module.indexOf("CustomModule") && "NAME" == heading[index].COLUMNNAME || heading[index].COLUMNNAME == head[module]) { | |
var permission = (body.relContactId ? body.relContactId : null, "Crm_Implied_View_" + module); | |
crmListView.changedPermissionsForZBModules.hasOwnProperty(permission) && (permission = crmListView.changedPermissionsForZBModules[permission]), permission = Crm.userDetails.permissions[permission]; | |
var res = "<a "; | |
res += permission > -1 ? 'data-cid="detailView" href="/recruit/EntityInfo.do?id=' + body.ENTITYID + "&module=" + body.MODULE + '"' : 'href="javascript:;" title="permission denied" data-permission="false"', res += 'id="relatedList_' + body.ENTITYID + "\" data-zcqa='relatedList_" + option.fn(this) + '\' data-params=\'{"fromActivityListView":"true","pfrom":"rel","module":"' + body.MODULE + '","id":"' + body.ENTITYID + '","pn":"' + pn + '","peId":"' + crmRelatedList.EntityId + '","bMod":"' + crmRelatedList.Module + '","lookback":"true"', res += '}\' class="link"', res += ">" + option.fn(this) + "</a>" | |
} | |
} else if ("ATTACHMENTSPERSONALITY" == personality) { | |
if ("NAME" == heading[index].COLUMNNAME) { | |
var fileName = value, | |
len = fileName.length, | |
pos = fileName.lastIndexOf("."), | |
extn = ""; | |
0 != len && pos > -1 && (extn = fileName.substring(pos + 1, len), extn = extn.toLowerCase()), value = ZRFileUtil.getAttachDotVal(fileName, 30).dotVal; | |
var extnvalue = body.extn, | |
mode = body.mode, | |
isLinkDocs = body.isLinkDocs, | |
res = '<div class="atchName" style="max-width:600px">'; | |
if (void 0 != isLinkDocs && isLinkDocs == crmConstants.Attachment_fromDesktop) { | |
if ("pdf" == extn) | |
res += "<a id='relatedList_" + body.ENTITYID + "' onClick=\"javascript:openSheetForExport('" + $ESAPI.encoder().encodeForJavaScript("/recruit/ViewAttachment?fileId=" + body.FILEID + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&parentId=" + crmRelatedList.EntityId + "&creatorId=" + body.CreaterId + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + "&downLoadMode=pdfViewPlugin") + '\',\'pdfViewPlugin\');sE(event);" style="cursor: pointer"> <img src="' + crmConstants.imgStaticPath + "/spacer.gif\" class='" + extnvalue + "-icon' border='0' hspace='3' height='16px' width='16px' align='absmiddle' >"; | |
else if ("" != mode) | |
res += "<a id='relatedList_" + body.ENTITYID + "' title ='" + $ESAPI.encoder().encodeForHTMLAttribute(fileName) + '\' data-attachdetail=\'{"attachmentId":"' + body.ENTITYID + '", "pkid":"' + crmRelatedList.EntityId + '", "fileId":"' + body.FILEID + '", "creatorId":"' + body.CreaterId + '", "module":"' + encodeURIComponent(crmRelatedList.Module) + '", "fileName":"' + $ESAPI.encoder().encodeForHTMLAttribute(fileName) + '", "isList":"false", "linkDocs":"false", "pasteDiv":"#relatedPageContent", "isAttachmentPermission":"' + crmRelatedList.EachModuleData[rid].editAttachTypes[body.attachTypeId] + '", "isDownloadAttachPerm":"' + crmRelatedList.EachModuleData[rid].dowloadAttachTypes[body.attachTypeId] + '"}\' style="cursor: pointer" onclick="ZRFileUtil.viewAttachment(this);sE(event)"> <img src="' + crmConstants.imgStaticPath + "/spacer.gif\" class='" + extnvalue + "-icon' border='0' hspace='3' height='16px' width='16px' align='absmiddle' >"; | |
else if ("png" == extnvalue) { | |
var isDownloadAttachPerm = crmRelatedList.EachModuleData[rid].dowloadAttachTypes[body.attachTypeId] ? !0 : !1; | |
res += isDownloadAttachPerm === !0 ? "<a id='relatedList_" + body.ENTITYID + '\' onClick="showImagePreview(this)" href="/recruit/ViewImage?fileId=' + body.FILEID + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&parentId=" + crmRelatedList.EntityId + "&creatorId=" + body.CreaterId + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + '&downLoadMode=default" class="cboxElement" style="cursor: pointer" name=\'cboxElement\'> <img src="' + crmConstants.imgStaticPath + "/spacer.gif\" class='" + extnvalue + "-icon' border='0' hspace='3' height='16px' width='16px' align='absmiddle'>" : "<a id='relatedList_" + body.ENTITYID + "' target='_blank' href=\"/recruit/ViewAttachment?fileId=" + body.FILEID + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&parentId=" + crmRelatedList.EntityId + "&creatorId=" + body.CreaterId + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + '&downLoadMode=image" > <img src="' + crmConstants.imgStaticPath + "/spacer.gif\" class='" + extnvalue + "-icon' border='0' hspace='3' height='16px' width='16px' align='absmiddle'>" | |
} else { | |
var isDownloadAttachPerm = crmRelatedList.EachModuleData[rid].dowloadAttachTypes[body.attachTypeId] ? !0 : !1; | |
res += isDownloadAttachPerm === !0 ? "<a id='relatedList_" + body.ENTITYID + "' href=\"/recruit/ViewAttachment?fileId=" + body.FILEID + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&parentId=" + crmRelatedList.EntityId + "&creatorId=" + body.CreaterId + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + '&downLoadMode=default" style="cursor: pointer" title=\'' + I18n.getMsg("crm.view.attachment.download") + "' > <img src=\"" + crmConstants.imgStaticPath + "/spacer.gif\" class='" + extnvalue + "-icon disIB' border='0' hspace='3' height='16px' width='16px' align='absmiddle'>" : '<a><img src="' + crmConstants.imgStaticPath + "/spacer.gif\" class='" + extnvalue + "-icon disIB' border='0' hspace='3' height='16px' width='16px' align='absmiddle'>" | |
} | |
value = $ESAPI.encoder().encodeForHTML(value) | |
} else | |
void 0 != isLinkDocs && isLinkDocs == crmConstants.Attachment_fromDocs ? res += "<a id='relatedList_" + body.ENTITYID + "' onClick=\"showExportMenu('" + $ESAPI.encoder().encodeForJavaScript("/recruit/ViewAttachment?fileId=" + body.ZDOCS_FILEID + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&parentId=" + crmRelatedList.EntityId + "&creatorId=" + body.CreaterId + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + "&linkDocs=true") + "','" + body.attachExt + "','" + body.ENTITYID + "','','true');sE(event);\" style=\"cursor: pointer\"> <img src=\"" + crmConstants.imgStaticPath + "/spacer.gif\" class='" + extnvalue + "-icon' border='0' hspace='3' height='16px' width='16px' align='absmiddle' >" : void 0 != isLinkDocs && isLinkDocs == crmConstants.Attachment_fromLinkUrl && (value = $ESAPI.encoder().encodeForHTML(value), res += '<div class = "link-iconAtc mR10 dIB vmiddle" border="0" hspace="3" height="16px" width="16px" align="absmiddle"></div> <a id=\'relatedList_' + body.ENTITYID + "' onClick=\"crmRelatedList.openLinkAndTitleChange('" + $ESAPI.encoder().encodeForJavaScript("/recruit/ViewAttachment?module=" + encodeURIComponent(crmRelatedList.Module) + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + "&linkURL=" + encodeURIComponent(body.linkURL) + "&isLink=true") + "','" + $ESAPI.encoder().encodeForHTMLAttribute($ESAPI.encoder().encodeForJavaScript(body.linkURL)) + '\',this);sE(event);" target="_blank" style="cursor: pointer">'); | |
res += value + "</a>", ("mp3" == extn || "wav" == extn) && (res += '<span class="cP icon_play dIB verAM marL10" onclick="playAudio(this,\'' + body.ENTITYID + '\')" style="display: none;" onmouseover="zctt.showtt(\'' + I18n.getMsg("crm.button.play") + '\')" onmouseout="zctt.hidett()"></span>', res += $.browser.name.indexOf("MSIE") > -1 ? '<embed id="' + body.ENTITYID + '_audio" src="/recruit/ViewAttachment?fileId=' + body.FILEID + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&parentId=" + crmRelatedList.EntityId + "&creatorId=" + body.CreaterId + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + '" autoplay="false" style="display:none"/>' : '<audio id="' + body.ENTITYID + '_audio" class="mt10" hidden="true" src="/recruit/ViewAttachment?fileId=' + body.FILEID + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&parentId=" + crmRelatedList.EntityId + "&creatorId=" + body.CreaterId + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + '" controls preload="auto">'), res += "</div>" | |
} else if ("ATTACHMENTSIZE" == heading[index].COLUMNNAME) { | |
var fileSize = value, | |
isLinkDocs = body.isLinkDocs, | |
zDocs_fileId = ""; | |
if (void 0 != isLinkDocs && 1 == isLinkDocs && (zDocs_fileId = body.ZDOCS_FILEID, fileSize = body.FILESIZE), void 0 != isLinkDocs && 2 == isLinkDocs) | |
return "-"; | |
fileSize.indexOf("KB") > -1 ? res = fileSize.replace(/KB/g, I18n.getMsg("KB")) : fileSize.indexOf("MB") > -1 && (res = fileSize.replace("/MB/g", I18n.getMsg("MB"))) | |
} else | |
"MODIFIEDTIME" == heading[index].COLUMNNAME && (res = "<span onmouseover=\"zctt.showtt('" + body.dateToolTip + '\')" onmouseout="zctt.hidett()">' + value + "</span>"); | |
"LABEL" == heading[index].COLUMNNAME && (res = "<div class='cd-attachcategory' id='attachment_type_" + body.ENTITYID + '\'> <span class="attach-type-link">' + value + "</span> ", "ICS" != value && "Guest" != Crm.userDetails.PROFILE_NAME && "Interviewer" != Crm.userDetails.PROFILE_NAME && 1 == body.isEditAttachPermission && (res += "<a onmouseover=\"zctt.showtt('" + I18n.getMsg("crm.relatedlist.attachment.changeattachmentcategory") + '\')" onmouseout="zctt.hidett()" href="javascript:void(0)" class="typeedit" onclick="ZRSetupUtil.changeFileType(\'' + crmRelatedList.Module + "','" + body.attachTypeId + "','" + body.ENTITYID + "','" + body.ParentId + "')\"><span class='link neweditIcon dIB'></span></a> "), res += "</div>") | |
} else if ("SURVEYPERSONALITY" == personality) | |
if ("SOURCE" == heading[index].COLUMNNAME) | |
res = I18n.getMsg(value); | |
else if ("UNIQUEID" == heading[index].COLUMNNAME) { | |
var resInfo = body.uniqueId, | |
sMail = encodeURIComponent(body.sEmail); | |
res = void 0 != resInfo && 0 != resInfo ? '<a href=\'javascript:void(0);\' onclick=\'ZSurvey.viewResponse(this);\' data-params=\'{"action" : "viewResponse", "uniqueid":"' + resInfo + '","responseid":"' + body.RESPONSEID + '" , "zcrmemail":"' + sMail + "\"}'>" + I18n.getMsg("crm.zsurvey.label.view.response") + "</a>" : '<span class="f12" >' + I18n.getMsg("crm.survey.response.yettorespond") + "</span>" | |
} | |
return res | |
}), Handlebars.registerHelper("getDownloadLink", function(value, heading, index, body, module, rid, personality) { | |
var res = "", | |
isLinkDocs = body.isLinkDocs; | |
if ("ATTACHMENTSPERSONALITY" == personality && 2 != isLinkDocs && 0 == index) { | |
for (var fileName = "", i = 0; i < heading.length; i++) | |
if ("NAME" == heading[i].COLUMNNAME) { | |
fileName = body.CONTENT[i]; | |
break | |
} | |
var fileId = "", | |
linkDocsParam = "", | |
len = fileName.length, | |
pos = fileName.lastIndexOf("."), | |
attachExt = ""; | |
0 != len && pos > -1 && (attachExt = fileName.substring(pos + 1, len), attachExt = attachExt.toLowerCase()), void 0 != isLinkDocs && 1 == isLinkDocs ? (fileId = body.ZDOCS_FILEID, linkDocsParam = "&linkDocs=true") : (fileId = body.FILEID, linkDocsParam = ""); | |
var isDownloadAttachPerm = crmRelatedList.EachModuleData[rid].dowloadAttachTypes[body.attachTypeId] ? !0 : !1; | |
1 == isDownloadAttachPerm && (res = '<div class="cd-downbox" style="display:inline-block;"><a onmouseover="zctt.showtt(\'' + I18n.getMsg("crm.view.attachment.download") + '\')" onmouseout="zctt.hidett()" id="downloadlink" class="svgIconsImg dIB downloadLinkImg" href="/recruit/ViewAttachment?fileId=' + fileId + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&parentId=" + crmRelatedList.EntityId + "&creatorId=" + body.CreaterId + "&id=" + body.ENTITYID + "&name=" + encodeURIComponent(fileName) + "&downLoadMode=default" + linkDocsParam, res += '" style="cursor: pointer"></a></div>') | |
} | |
return res | |
}), Handlebars.registerHelper("checkSortArrow", function(fieldId, sortColumnId, fieldLabel, op) { | |
return "" == fieldId && sortColumnId == fieldLabel ? op.fn(this) : fieldId == sortColumnId ? op.fn(this) : op.inverse(this) | |
}), Handlebars.registerHelper("getClassNames", function(isNewCreateLink) { | |
var returnString = ""; | |
return returnString = isNewCreateLink ? isNewCreateLink + " createlink" : "tb_newsmallbtn" | |
}), Handlebars.registerHelper("getLinksForIndeed", function() { | |
var indeedData = detailView.changedBCJson.indeedData, | |
href = "", | |
city = indeedData.city ? indeedData.city : "", | |
state = indeedData.state ? indeedData.state : "", | |
country = indeedData.country ? indeedData.country : "", | |
entityId = detailView.entityId, | |
BCViewObject = detailView.changedBCJson.BCViewObject, | |
potentialName = $.map(BCViewObject, function(key) { | |
return "POTENTIALNAME" == key.colname ? key.defaultvalue : void 0 | |
})[0]; | |
return indeedData.indeedLink && "Potentials" == indeedData.indeedLinkFor ? href = "/recruit/SearchIndeed.do?title=" + potentialName + "&city=" + city + "&state=" + state + "&co=" + country + "&jobId=" + entityId : indeedData.indeedLink && "Leads" == indeedData.indeedLinkFor && (href = Crm.RebrandProperties.indeedURL + indeedData.indeedLink), href | |
}), Handlebars.registerHelper("getSplitValues", function(val, spliter, splitIndex) { | |
return val.split(spliter)[splitIndex] | |
}), Handlebars.registerHelper("getFilterType", function(selectedFilter, curFilter) { | |
return selectedFilter === curFilter ? "selected = 'selected'" : "" | |
}), Handlebars.registerHelper("getEditDeleteLinks", function(rid, row, op) { | |
var editLink = "", | |
deleteLink = "", | |
closeLink = "", | |
editzcqa = "", | |
deletezcqa = "", | |
closezcqa = "", | |
isCallLink = !1, | |
personalityObj = crmRelatedList.getPersonalityModuleObj(rid), | |
personality = personalityObj.name, | |
targetString = crmRelatedList.getTaregetString(rid), | |
isToModuleNeeded = !1, | |
primaryModule = crmRelatedList.Module, | |
unassociateLink = "", | |
viewNotesData = "", | |
viewMailData = {}, | |
viewSMSLink = "", | |
relModule = row.MODULE ? row.MODULE : ""; | |
if ("ACCOUNTSPERSONALITY" == personality) | |
isToModuleNeeded = !0, editLink = crmRelatedList.createEditLink(row.MODULE, row.ENTITYID, targetString), deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded, void 0, row.MODULE); | |
else if ("SUBMISSIONPERSONALITY" == personality) | |
viewNotesData = { | |
pkid: crmRelatedList.EntityId + "", | |
module: crmRelatedList.Module, | |
noteid: row.NOTEID + "", | |
rating: row.RATING, | |
reviewedby: row.REVIEWDBYNAME | |
}, viewNotesData = JSON.stringify(viewNotesData), row.TEMPLATE_SUBMITTOCLIENT = crmRelatedList.TEMPLATE_SUBMITTOCLIENT, viewMailData = row; | |
else if ("SMSPERSONALITY" == personality) | |
viewSMSLink = "onclick=ZRSMSUtil.viewSMSHistoryDetail('" + row.SMSHistoryId + "','" + crmRelatedList.Module + "','body');"; | |
else if ("CHILDACCOUNTSPERSONALITY" == personality || "POTENTIALSPERSONALITY" == personality || "CASESPERSONALITY" == personality || "QUOTESPERSONALITY" == personality || "SALESORDERSPERSONALITY" == personality || "PURCHASEORDERSPERSONALITY" == personality || "INVOICESPERSONALITY" == personality || "SOLUTIONSPERSONALITY" == personality || "VENDORSPERSONALITY" == personality) | |
isToModuleNeeded = "POTENTIALSPERSONALITY" == personality ? !0 : !1, editLink = crmRelatedList.createEditLink(row.MODULE, row.ENTITYID, targetString, getObj("recordNum").value), ("SOLUTIONSPERSONALITY" == personality || "VENDORSPERSONALITY" == personality) && (editLink = crmRelatedList.createEditLink(row.MODULE, row.ENTITYID, targetString)), deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded, void 0, row.MODULE), "POTENTIALSPERSONALITY" == personality && ("Leads" === primaryModule && "Potentials" === row.MODULE && (editLink = crmRelatedList.createStatusChangeLink(rid, row.MODULE, row.ENTITYID, targetString, getObj("recordNum").value)), "Leads" === primaryModule && (unassociateLink = "onclick=ZRAssociateUtil.actionEvent(event,'" + crmRelatedList.EntityId + "','" + $ESAPI.encoder().encodeForHTMLAttribute(row.CONTENT[0]) + "');sE(event) data-pkid=" + row.ENTITYID)); | |
else if ("CONTACTSPERSONALITY" == personality || "CAMPAIGNSPERSONALITY" == personality || "LEADSPERSONALITY" == personality) { | |
isToModuleNeeded = !0; | |
var parentModule = crmRelatedList.Module; | |
!personalityObj.isCustLookUp && "Campaigns" == parentModule || !personalityObj.isCustLookUp && "CAMPAIGNSPERSONALITY" == personality ? (editLink = crmRelatedList.createStatusChangeLink(rid, row.MODULE, row.ENTITYID, targetString, getObj("recordNum").value), deleteLink = crmRelatedList.createDeleteLink("MultiValued", row.ENTITYID, targetString, isToModuleNeeded, personalityObj.isCustLookUp, row.MODULE)) : (deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded, personalityObj.isCustLookUp, row.MODULE), editLink = "LEADSPERSONALITY" == personality && "Potentials" === primaryModule ? crmRelatedList.createStatusChangeLink(rid, row.MODULE, row.ENTITYID, targetString, getObj("recordNum").value) : crmRelatedList.createEditLink(row.MODULE, row.ENTITYID, targetString, getObj("recordNum").value), "Potentials" === primaryModule && (unassociateLink = "onclick=ZRAssociateUtil.actionEvent(event,'" + crmRelatedList.EntityId + "','" + $ESAPI.encoder().encodeForHTMLAttribute(row.CONTENT[0]) + "');sE(event) data-pkid=" + row.ENTITYID)) | |
} else if ("VISITSPERSONALITY" == personality) | |
isToModuleNeeded = !0, deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded, personalityObj.isCustLookUp, row.MODULE); | |
else if (personalityObj.isCustomModule) | |
isToModuleNeeded = !0, editLink = crmRelatedList.createEditLink(row.MODULE, row.ENTITYID, targetString), deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded, personalityObj.isCustLookUp, row.MODULE); | |
else if ("EMAILSPERSONALITY" == personality) | |
isToModuleNeeded = !1, deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded); | |
else if ("ACTIVITYPERSONALITY" == personality || "ACTIVITYHISTORYPERSONALITY" == personality || "INVITEDEVENTSPERSONALITY" == personality) { | |
var activityType = (crmRelatedList.getSetSinglePersonalityData(rid, "get"), void 0 != personalityObj.activityType ? personalityObj.activityType : "All"); | |
isToModuleNeeded = !1, deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded) + "&activityType=" + activityType, editLink = crmRelatedList.createEditLink(row.MODULE, row.ENTITYID, targetString, getObj("recordNum").value) + "&activityType=" + activityType, "Tasks" != row.MODULE || "ACTIVITYHISTORYPERSONALITY" == personality || 2 == row.approveStatus || row.COMPLETED || (closeLink = crmRelatedList.createCloseLink(row.ENTITYID, targetString) + "&activityType=" + activityType, closezcqa = "lnk_delete_Tasks"), "Calls" != row.MODULE || "ACTIVITYHISTORYPERSONALITY" == personality || 2 == row.approveStatus || "Scheduled" != row.CALLSTATUS && "Overdue" != row.CALLSTATUS || (isCallLink = !0, deletezcqa = "relatedListMore_Calls") | |
} else if ("COMPETITORSPERSONALITY" == personality) { | |
var recordNum = getObj("recordNum").value; | |
editLink = "/recruit/potentials/EditCompetitor.do?id=" + crmRelatedList.EntityId + "&module=Potentials&competitorid=" + row.ENTITYID + "&rid=" + rid + "&returnAnchor=" + targetString + "&recordNum=" + (null == recordNum ? null : encodeURIComponent(recordNum)), deleteLink = "/recruit/potentials/DeletingCompetitor.do?competitorid=" + row.ENTITYID + "&nextStep=relatedlist&isajax=true#" + targetString | |
} else if ("PRICEBOOKSPERSONALITY" == personality) | |
isToModuleNeeded = !0, editLink = crmRelatedList.creareEditLinkForProducts(rid, personality, targetString, row.ENTITYID, crmRelatedList.Module, row.MODULE), deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded, personalityObj.isCustLookUp, row.MODULE), personalityObj.isCustLookUp || (deleteLink = crmRelatedList.createDeleteLink("MultiValued", row.ENTITYID, targetString, isToModuleNeeded, personalityObj.isCustLookUp, row.MODULE)); | |
else if ("PRODUCTSPERSONALITY" == personality) { | |
isToModuleNeeded = !0; | |
var fromoModule = crmRelatedList.Module, | |
toModule = row.MODULE; | |
editLink = crmRelatedList.createEditLink(rid, personality, targetString, row.ENTITYID, crmRelatedList.Module, row.MODULE), deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded, personalityObj.isCustLookUp, row.MODULE), !personalityObj.isCustLookUp && "Leads" == crmRelatedList.Module && Crm.userDetails.permissions["Crm_Implied_Edit_" + row.MODULE] && (deleteLink = crmRelatedList.createDeleteLink("MultiValued", row.ENTITYID, targetString, isToModuleNeeded, personalityObj.isCustLookUp, row.MODULE)), "PRODUCTSPERSONALITY" == personality && "Leads" != crmRelatedList.Module && (deleteLink = ""), "PriceBooks" == fromoModule && "Products" == toModule || "Products" == fromoModule && "PriceBooks" == toModule || ("Vendors" == fromoModule ? (isToModuleNeeded = !1, editLink = crmRelatedList.createEditLink(row.MODULE, row.ENTITYID, targetString), deleteLink = crmRelatedList.createDeleteLink(row.MODULE, row.ENTITYID, targetString, isToModuleNeeded)) : ("Leads" != fromoModule || "Products" != toModule) && (editLink = "")) | |
} else | |
"CONTACTSROLESPERSONALITY" == personality ? deleteLink = crmRelatedList.createRemoveLinkForContactRole(row.CONTACTID, row.POTENTIALID, targetString) : "ATTACHMENTSPERSONALITY" == personality && (deleteLink = void 0 != crmRelatedList.EachModuleData[rid].deleteAttachTypes[row.attachTypeId] && 1 == crmRelatedList.EachModuleData[rid].deleteAttachTypes[row.attachTypeId] ? "/recruit/deleteattachment.do?attachmentid=" + row.ENTITYID + "&module=" + encodeURIComponent(crmRelatedList.Module) + "&id=" + crmRelatedList.EntityId + "&nextStep=relatedlist&isajax=true&creatorId=" + row.CreaterId + "#" + targetString : ""); | |
if (this.links = {}, "OFFERSPERSONALITY" === personality && ("Accounts" != crmRelatedList.Module && Crm.userDetails.permissions.Crm_Implied_Generate_Offer_Letter && "Offer-Withdrawn" !== row.status && (this.links.offerpersonality = !0), this.links.offerdownload = !0, this.links.showOfferOptions = "Potentials" === crmRelatedList.Module ? 0 == returnJson.recordInLeadStatusProcess || void 0 == returnJson.recordInLeadStatusProcess : "Leads" === crmRelatedList.Module ? 0 == returnJson.recordInStatusProcess || void 0 == returnJson.recordInStatusProcess : !1, this.links.showchangeexpiry = "Contract" === this.employmenttype && ("Offer-Made" === this.status || "Offer-Accepted" === this.status || "To-be-Offered" === this.status), this.links.showresendemail = "Offer-Made" === this.status && this.generatedtype === ZROfferUtil.offercontracttype.Email, this.links.showofferedit = this.links.showOfferOptions && ("Offer-Made" === this.status || "Offer-Declined" === this.status || "To-be-Offered" === this.status) && this.generatedtype === ZROfferUtil.offercontracttype.Email, this.links.showsendtoesign = this.links.showOfferOptions && this.generatedtype != ZROfferUtil.offercontracttype.Email && "To-be-Offered" === this.status, this.links.editandsendtosign = this.links.showOfferOptions && this.generatedtype != ZROfferUtil.offercontracttype.Email && "To-be-Offered" === this.status, this.links.showofferwithdraw = this.links.showOfferOptions && ("Offer-Made" === this.status || "Offer-Accepted" === this.status), this.links.deleteoffer = "To-be-Offered" === this.status && this.generatedtype != ZROfferUtil.offercontracttype.Email, this.links.offerpersonality = this.links.offerpersonality && (this.links.showchangeexpiry || this.links.showresendemail || this.links.showofferedit || this.links.showofferwithdraw || this.links.deleteoffer || this.links.editandsendtosign || this.links.showsendtoesign)), "" != editLink) { | |
var isEventEdit, | |
isShowStatusChange, | |
isEditEntity, | |
dataParams = {}; | |
if (-1 != editLink.indexOf("EditEntity.do?") && Crm.userDetails.permissions["Crm_Implied_Edit_" + row.MODULE]) { | |
var editParams = editLink.substring(editLink.indexOf("?") + 1), | |
moduleName = editParams.substring(0, editParams.indexOf("&")); | |
if (moduleName = moduleName.substring(moduleName.indexOf("=") + 1), "ACTIVITYPERSONALITY" == personality || "ACTIVITYHISTORYPERSONALITY" == personality || "INVITEDEVENTSPERSONALITY" == personality) | |
if (-1 != editParams.indexOf("Events")) | |
isEventEdit = !0, editzcqa = "relatedListEdit_Events", dataParams = { | |
module: "Events", | |
id: row.ENTITYID, | |
from: "relatedlist_new" | |
}; | |
else { | |
isEditEntity = !0; | |
var activityType = void 0 != personalityObj.activityType ? personalityObj.activityType : "All"; | |
editzcqa = "relatedListEdit_" + $ESAPI.encoder().encodeForHTML(row.MODULE), dataParams = { | |
goTo: targetString, | |
module: encodeURIComponent(row.MODULE), | |
id: row.ENTITYID, | |
activityType: activityType | |
} | |
} | |
else | |
isEditEntity = !0, editzcqa = "relatedListEdit_" + $ESAPI.encoder().encodeForHTML(row.MODULE), dataParams = { | |
goTo: targetString, | |
module: encodeURIComponent(row.MODULE), | |
id: row.ENTITYID | |
} | |
} else | |
personalityObj.isCustLookUp || "CAMPAIGNSPERSONALITY" != personality && "CONTACTSPERSONALITY" != personality && "LEADSPERSONALITY" != personality && "POTENTIALSPERSONALITY" != personality || (editzcqa = "relatedListEdit_Campaigns", isShowStatusChange = !0); | |
this.links.editObj = { | |
url: editLink, | |
dataCid: "editbtn", | |
dataParams: dataParams, | |
isShowStatusChange: isShowStatusChange, | |
isEditEntity: isEditEntity, | |
isEventEdit: isEventEdit, | |
editzcqa: editzcqa | |
} | |
} | |
var permissionCheck = "ATTACHMENTSPERSONALITY" !== personality ? Crm.userDetails.permissions["Crm_Implied_Delete_" + relModule] : row.isDeleteAttachPermission; | |
if ("" != deleteLink && "" != relModule && permissionCheck) { | |
var isShowInvoiceMenu = !1, | |
isRemoveLink = !1, | |
warningMsg = "", | |
dataParamsDel = {}; | |
if (personalityObj.isCustLookup || "INVOICESPERSONALITY" != personality && "SALESORDERSPERSONALITY" != personality && "QUOTESPERSONALITY" != personality ? "VISITACTIONSPERSONALITY" != personality && "SURVEYPERSONALITY" != personality && (deletezcqa = "lnk_delete_" + row.MODULE) : (isShowInvoiceMenu = !0, deletezcqa = "showSettings_" + row.MODULE, dataParamsDel = { | |
module: encodeURIComponent(row.MODULE), | |
relatedContactId: row.relContactId, | |
id: row.ENTITYID, | |
deleteLink: deleteLink, | |
isApproved: row.approveStatus | |
}), !personalityObj.isCustLookUp && ("CAMPAIGNSPERSONALITY" == personality || "PRICEBOOKSPERSONALITY" == personality || "CONTACTSROLESPERSONALITY" == personality || "Campaigns" == crmRelatedList.Module && ("Leads" == row.MODULE || "Contacts" == row.MODULE))) { | |
deletezcqa = "", isRemoveLink = !0; | |
var removeMod = ""; | |
removeMod = "CONTACTSROLESPERSONALITY" == personality ? Crm.moduleInfo.Contacts[0] : Crm.moduleInfo[row.MODULE][0], warningMsg = I18n.getMsg("crm.warning.deassociate.entity", [removeMod, Crm.moduleInfo[crmRelatedList.Module][0]]) | |
} | |
this.links.deleteObj = { | |
url: deleteLink, | |
isShowInvoiceMenu: isShowInvoiceMenu, | |
isRemoveLink: isRemoveLink, | |
warningMsg: warningMsg, | |
dataParamsDel: dataParamsDel, | |
isCallLink: isCallLink, | |
deletezcqa: deletezcqa | |
}, "Accounts" == detailView.currentModule && "POTENTIALSPERSONALITY" == personality && delete this.links.deleteObj | |
} | |
return "" != closeLink && (this.links.closeObj = { | |
url: closeLink, | |
closezcqa: closezcqa | |
}), "" !== unassociateLink && unassociateLink.length && (this.links.unassociateObj = { | |
link: unassociateLink | |
}, this.links.deleteObj = void 0), "SUBMISSIONPERSONALITY" != personality || "" == viewNotesData && "" == viewMailData || (this.links.clientSubmissionObj = void 0 == row || 0 == row.NOTEID.length || "null" == row.NOTEID ? { | |
mailLink: viewMailData | |
} : { | |
notesLink: { | |
data: viewNotesData | |
}, | |
mailLink: viewMailData | |
}, this.links.editObj = void 0, this.links.deleteObj = void 0, this.links.unassociateObj = void 0), "SMSPERSONALITY" == personality && (this.links.smsObj = { | |
viewSMSLink: viewSMSLink | |
}, this.links.editObj = void 0, this.links.deleteObj = void 0, this.links.unassociateObj = void 0, this.links.clientSubmissionObj = void 0), op.fn(this) | |
}), Handlebars.registerHelper("isSortableRL", function(a, pers, colname, op) { | |
return 3 == a || 999 == a || 208 == a || 110 == a || 80 == a || 82 == a || "POTSTAGEHISTPERSONALITY" == pers || "OFFERSPERSONALITY" == pers && "GENERATEDTYPE" == colname ? op.inverse(this) : op.fn(this) | |
}), Handlebars.registerHelper("ifNotInventoryModule", function(module, op) { | |
return "Quotes" != module && "Invoices" != module && "PurchaseOrders" != module && "SalesOrders" != module ? op.fn(this) : op.inverse(this) | |
}), Handlebars.registerHelper("getEntityId", function() { | |
return $("#id").val() | |
}), Handlebars.registerHelper("checkStringRelList", function(value, heading, index, body, cvid, module, personality, option) { | |
if (cvid || (cvid = null), "Contact Roles" == module) | |
module = "Contacts"; | |
else if ("Invited Events" == module) { | |
if ("SUBJECT" == heading[index].COLUMNNAME) | |
return option.fn(this); | |
module = "Activities" | |
} | |
if ("Member Status" == heading[index].COLUMNALIAS && void 0 != body.REMARKS) | |
return "<span style='cursor: pointer' onmouseout='zctt.hidett();' onmouseover='zctt.showtt( \"" + body.REMARKS + "\")'>" + option.fn(this) + "</span>"; | |
if ("QUESTIONNAIRENAME" == heading[index].COLUMNNAME || "QUESTIONNAIREID" == heading[index].COLUMNNAME) { | |
if ("Products" === module) | |
return $ESAPI.encoder().encodeForHTML(value.DISPLAYLABEL); | |
var qeJOName; | |
if (null != value) { | |
if (qeJOName = value.split("-~-~-"), qeJOName.length >= 2) { | |
var dataobj = { | |
entityId: $("#entityId").val(), | |
id: body.ENTITYID, | |
subId: qeJOName[1] | |
}; | |
return 4 === qeJOName.length ? "<a href='javascript:void(0);' onclick='ZRQuestionnaire.showEntity(" + JSON.stringify(dataobj) + ");sE();'>" + $ESAPI.encoder().encodeForHTML(qeJOName[0]) + " <span class='disIB fonS3 gray6'>" + I18n.getMsg("crm.label.for") + "</span> <a target='_blank' href='/recruit/EntityInfo.do?module=JobOpenings&id=" + qeJOName[2] + "'>" + $ESAPI.encoder().encodeForHTML(qeJOName[3]) + "</a></a>" : "<a href='javascript:void(0);' onclick='ZRQuestionnaire.showEntity(" + JSON.stringify(dataobj) + ");sE();'>" + $ESAPI.encoder().encodeForHTML(qeJOName[0]) + "</a>" | |
} | |
var dataobj = { | |
id: body.ENTITYID | |
}; | |
return "<a href='javascript:void(0);' onclick='ZRQuestionnaire.listQuestionnaire(" + JSON.stringify(dataobj) + ");sE();'>" + $ESAPI.encoder().encodeForHTML(qeJOName[0]) + "</a>" | |
} | |
} else if ("VENDORNAME" == heading[index].COLUMNNAME && "Potentials" == module) { | |
if (null != value) { | |
var vendorId = value.ENTITYID; | |
if (void 0 != vendorId) | |
return "<a target='_blank' href='/recruit/EntityInfo.do?module=" + value.module + "&id=" + value.ENTITYID + "'>" + $ESAPI.encoder().encodeForHTML(value.vendorName) + "</a>" | |
} | |
} else if ("LEADID" == heading[index].COLUMNNAME && "Potentials" == module && "Applied Candidates" == heading[index].FIELDLABEL) { | |
if (null != value) { | |
var count = value.SUBMITTEDCOUNT; | |
if (void 0 != count) | |
return "<span>" + $ESAPI.encoder().encodeForHTML(count) + "</span>" | |
} | |
} else if ("SHAREDVENDORSPERSONALITY" == personality && "ISPUBLISH" == heading[index].COLUMNNAME && "Potentials" == module) { | |
if (null != value) { | |
var data = value.vendorId; | |
return void 0 != data ? '<a href="javascript:;" onclick="ZRVendorPortal.unPublishJobForThisVendor(\'' + $ESAPI.encoder().encodeForJavaScript(value.vendorId) + "','" + $ESAPI.encoder().encodeForJavaScript(value.jobId) + "' );\">" + I18n.getMsg("crm.jobboards.job.unpublish.button") + "</a>" : "--" | |
} | |
} else if ("OFFERSPERSONALITY" === personality && ZROfferUtil.relatedListColumnsModify.indexOf(heading[index].COLUMNNAME) >= 0) | |
switch (heading[index].COLUMNNAME) { | |
case "OFFERTEMPLATENAME": | |
return "<a target='_blank' href='/recruit/viewOfferFile?entityId=" + body.leadid + "&offerId=" + value.ENTITYID + "&module=Offers&downLoadMode=pdfViewPlugin'><i class='fa fa-file-pdf-o' style='color: #882321;'></i> " + $ESAPI.encoder().encodeForHTML(value.DISPLAYLABEL) + "</a>"; | |
case "EMPLOYMENTTYPE": | |
return "Permanent" === value ? I18n.getMsg("Permanent") : (body.columnname = "EMPLOYMENTTYPE", Handlebars.getTemplate("OfferManagement", "RelatedListOfferNotes")(body)); | |
case "STATUS": | |
return body.columnname = "STATUS", body.statusvalue = value, "Offer-Accepted" === value || "Offer-Declined" === value || "Offer-Withdrawn" === value && "" !== body.NOTE_CONTENT ? Handlebars.getTemplate("OfferManagement", "RelatedListOfferNotes")(body) : I18n.getMsg(value) | |
} | |
else { | |
if ("object" != typeof value && void 0 !== heading) { | |
if (void 0 === heading[index]) | |
return; | |
if (21 == heading[index].UITYPE) { | |
var res = "", | |
http = "http", | |
https = "https"; | |
return "" === value || 0 != value.indexOf(http) && 0 != value.indexOf(https) ? "" != value && (res = '<a data-cid="dummy" class="link" href="' + http + "://" + option.fn(this) + '" target="_blank">' + option.fn(this) + "</a>") : res = '<a data-cid="dummy" class="link" href="' + option.fn(this) + '" target="_blank">' + option.fn(this) + "</a>", res | |
} | |
if (301 == heading[index].UITYPE || 300 == heading[index].UITYPE) { | |
var res = ""; | |
return res = value === !0 || "true" == value ? '<img src="' + Search.spacerImg + '" class="yes">' : '<img src="' + Search.spacerImg + '" class="no-new" width="9" height="9">' | |
} | |
if (100 == heading[index].UITYPE) { | |
var res = option.fn(this); | |
return "" != value && (res = res.replace(/;/g, "; ")), res | |
} | |
if (22 == heading[index].UITYPE) { | |
var res = ""; | |
if ("" != value) { | |
var display = option.fn(this); | |
DWRutil.getTwHandlerVal(value, { | |
callback: function(str) { | |
if (null != str && "null" != str && str.trim().length > 0) { | |
res = ' <a data-cid="dummy" class="link" href="' + RebrandLinkUtil.getProperties("TW_URL") + "/" + str + '" target="_blank" id="subvalue_Twitter">' + display + "</a>" | |
} else | |
res = ' <span id="subvalue_Twitter">' + display + "</span>" | |
} | |
}) | |
} | |
return res | |
} | |
if (38 == heading[index].UITYPE) | |
return parseFloat(option.fn(this)); | |
if (33 == heading[index].UITYPE) | |
return "" == value ? option.fn(this) : customViewObject && 1 == customViewObject.outbound ? "<div onmouseover='editmouseover(this,\"phone\");' onmouseout='editmouseout(this, \"phone\");' class='phoneRtl' style='min-width:100%'>" + option.fn(this) + "<a style='visibility:hidden;' href='javascript:;' class='calliconOuter fN' onmouseover='showCallButtonlabel(this)' onmouseout='hideCallButtonlabel(this)' onclick=\"sE();click2Call('" + value + "','" + Crm.userDetails.ZGID + "','" + Crm.userDetails.USER_ID + "','" + body.ENTITYID + "','','" + module + "')\"><i class='callIcon'></i><span id='calllabel1'>" + I18n.getMsg("Call") + "</span></a></div>" : Crm.userDetails.ZPBENABLED ? "<div class='phoneRtl' style='min-width:100%;position:relative'>" + option.fn(this) + "<span style='position:absolute'><zpb-phone number='" + option.fn(this) + "' module='" + module + "' recordid='" + body.ENTITYID + "'></zpb-phone></span></div>" : "<div onmouseover='editmouseover(this, \"phone\");' onmouseout='editmouseout(this, \"phone\");' class='phoneRtl' style='min-width:100%'>" + option.fn(this) + "<a style='visibility:hidden;' class='pH2 phoneRtl' title='" + I18n.getMsg("crm.phoneNo.Link.Title") + "' href='skype:" + value + "?call' onclick='sE();'></a></div>"; | |
var head = { | |
Leads: "LASTNAME", | |
Activities: "SUBJECT", | |
Accounts: "ACCOUNTNAME", | |
Contacts: "LASTNAME", | |
Potentials: "POTENTIALNAME", | |
Campaigns: "CAMPAIGNNAME", | |
Cases: "CASESUBJECT", | |
Solutions: "SOLUTIONTITLE", | |
Products: "PRODUCTNAME", | |
Vendors: "VENDORNAME", | |
PriceBooks: "BOOKNAME", | |
Quotes: "QUOTESUBJECT", | |
SalesOrders: "SALESORDERSUBJECT", | |
PurchaseOrders: "PURCHASEORDERSUBJECT", | |
Invoices: "INVOICESUBJECT", | |
Forecasts: "FORECASTNAME", | |
Visits: "VISITEDPAGE" | |
}; | |
if (0 == module.indexOf("CustomModule") && "NAME" == heading[index].COLUMNNAME || heading[index].COLUMNNAME == head[module]) { | |
var relContactId = body.relContactId ? body.relContactId : null, | |
permission = "Crm_Implied_View_" + module; | |
crmListView.changedPermissionsForZBModules.hasOwnProperty(permission) && (permission = crmListView.changedPermissionsForZBModules[permission]), permission = Crm.userDetails.permissions[permission]; | |
var res = "<a "; | |
return permission > -1 ? (res += 'data-cid="detailView" href="/recruit/EntityInfo.do?id=' + body.ENTITYID + "&module=" + body.MODULE, "Potentials" == crmRelatedList.Module && "LEADSPERSONALITY" == personality && (res += "&assoJOId=" + crmRelatedList.EntityId + "&lookback=assoJob"), res += '"') : res += 'href="javascript:;" title="permission denied" data-permission="false"', res += 'id="relatedList_' + body.ENTITYID + "\" data-zcqa='relatedList_" + option.fn(this) + "'", res += "Potentials" == crmRelatedList.Module && "LEADSPERSONALITY" == personality ? 'data-params=\'{"pfrom":"rel","relContactId":"' + relContactId + '","module":"' + body.MODULE + '","id":"' + body.ENTITYID + '","cvid":"' + cvid + '","recordNum":"' + recordNum + '","lookback":"assoJob","assoJOId":"' + crmRelatedList.EntityId + '"' : 'data-params=\'{"pfrom":"rel","relContactId":"' + relContactId + '","module":"' + body.MODULE + '","id":"' + body.ENTITYID + '","cvid":"' + cvid + '","recordNum":"' + recordNum + '","lookback":"true"', res += '}\' class="link"', res += ">" + option.fn(this) + "</a>" | |
} | |
return option.fn(this) | |
} | |
if (void 0 !== heading[index]) { | |
if (4 == heading[index].UITYPE && "Accounts" == body.MODULE) | |
return option.fn(this.DISPLAYLABEL); | |
if (4 != heading[index].UITYPE || "Calls" != body.MODULE && "Tasks" != body.MODULE && "Events" != body.MODULE) { | |
if ("User" === value.MODULE) | |
return '<span purpose="showUserBC" data-params=\'{"userId":"' + this.ENTITYID + "\"}'>" + option.fn(this.DISPLAYLABEL) + "</span>"; | |
if ("SITENAME" == heading[index].COLUMNNAME) | |
return res = "Facebook" == value.jboardName || "Twitter" == value.jboardName ? value.jboardName + ' <i class="fa fa-info-circle curP" onclick="javascript:ZRSRUtil.getJobPostedPages(this,\'' + $ESAPI.encoder().encodeForJavaScript(value.ENTITYID) + "','" + $ESAPI.encoder().encodeForJavaScript(value.jboardName) + "');\"></i>" : "BroadBean" === value.jboardName || "LogicMelon" === value.jboardName ? ' <a href="javascript:;" onclick="ZRPublishUtil.showJBPostedDetails(\'' + $ESAPI.encoder().encodeForJavaScript(value.jobBoardId) + "','" + $ESAPI.encoder().encodeForJavaScript(value.jboardName) + "');\">" + value.jboardName + "</a>" : ' <a href="javascript:;" onclick="ZRPublishUtil.showJBPostedDetails(\'' + $ESAPI.encoder().encodeForJavaScript(value.jobBoardId) + "');\">" + value.jboardName + "</a>"; | |
if ("JB_FINDJOB" == heading[index].COLUMNNAME) | |
return res = "-" !== value.findJobsLink ? ' <a href="' + $ESAPI.encoder().encodeForHTMLAttribute(value.findJobsLink) + '" data-zcqa="link_relJBFindJob" class="ss-url" target="_blank" rel="noopener noreferrer"></a>' : '<span class="disIB marL10">–</span>'; | |
if ("JB_EXPIRESON" == heading[index].COLUMNNAME) | |
return res = "NA" !== value.expiresOn ? '<span class="ss-dateexpires">' + value.expiresOn + "</span>" : '<span class="disIB marL10">–</span>'; | |
if ("JB_PUBLISHTYPE" == heading[index].COLUMNNAME) | |
return res = "true" === value.isPaidJobBoard ? ' <span class="jpr-paid">' + value.jbPublishType + "</span>" : ' <span class="jpr-free">' + value.jbPublishType + "</span>"; | |
if ("PUBLISHSTATUS" == heading[index].COLUMNNAME) | |
return res = "-" !== value.jobStatus ? ' <span class="ss-dot ' + ("Active" === value.jobStatus ? "ss-active" : "Queued" === value.jobStatus ? "ss-inque" : "ss-expired") + '"></span>' + I18n.getMsg("Active" === value.jobStatus ? "Active" : "Queued" === value.jobStatus ? "crm.sms.status.queued" : "Expired" === value.jobStatus ? "Expired" : "crm.import.status.failed") : '<span class="disIB marL10">–</span>'; | |
if ("UNPUBLISH" == heading[index].COLUMNNAME) | |
return res = '<a name="jbiUnPublish" href="javascript:void(0);" data-zcqa="link_relJBUnPublish" data-cid="link_relJBUnPublish" data-jboardid="' + $ESAPI.encoder().encodeForHTMLAttribute(value.jobBoardId) + '" data-jboardname="' + $ESAPI.encoder().encodeForHTMLAttribute(value.jboardName) + '">' + I18n.getMsg("crm.jobboards.job.unpublish.button") + "</a>"; | |
var permission = "Crm_Implied_View_" + module; | |
crmListView.changedPermissionsForZBModules.hasOwnProperty(permission) && (permission = crmListView.changedPermissionsForZBModules[permission]), permission = Crm.userDetails.permissions[permission]; | |
var res = "<a "; | |
return res += permission > -1 ? 'data-cid="detailView" data-params=\'{"pfrom":"rel","relContactId":"null","module":"' + value.MODULE + '","id":"' + value.ENTITYID + '","lookback":"true"}\' href="/recruit/EntityInfo.do?id=' + value.ENTITYID + "&module=" + value.MODULE + '"' : 'href="javascript:;" title="Permission denied" data-permission="false"', res += 'id="relatedList_' + value.ENTITYID + "\" data-zcqa='relatedList_" + option.fn(this.DISPLAYLABEL) + '\' class="link">' + option.fn(this.DISPLAYLABEL) + "</a>" | |
} | |
var mod = this.MODULE, | |
permission = "Crm_Implied_View_" + mod; | |
crmListView.changedPermissionsForZBModules.hasOwnProperty(permission) && (permission = crmListView.changedPermissionsForZBModules[permission]), permission = Crm.userDetails.permissions[permission], mod = mod.slice(0, mod.lastIndexOf("s")); | |
var res = "<a "; | |
return res += permission > -1 ? 'data-cid="detailView" data-params=\'{"pfrom":"rel","relContactId":"' + (body.relContactId ? body.relContactId : null) + '","module":"' + this.MODULE + '","id":"' + this.ENTITYID + '","lookback":"true"}\' href="/recruit/EntityInfo.do?id=' + this.ENTITYID + "&module=" + this.MODULE + '"onmouseover="showRelatedFields_new(\'' + this.MODULE + "','" + this.ENTITYID + '\',this)" onmouseout="hideLoadingDiv();"' : 'href="javascript:;" title="permission denied" data-permission="false"', res += ' id="relatedList_' + this.ENTITYID + "\" data-zcqa='relatedList_" + option.fn(this.DISPLAYLABEL) + '\' class="link">', res += option.fn(this.DISPLAYLABEL), res += "</a>" | |
} | |
} | |
}); | |
var cVar = { | |
variableObj: void 0, | |
groupObj: void 0, | |
editVarGroupId: void 0, | |
jquerySection: function() { | |
$("body").click(function() { | |
$("#viewCvariablesPOP").addClass("hide") | |
}) | |
}, | |
createGroup: function() { | |
var reqPool = new crmRequestPool, | |
params = csrfParamName + "=" + encodeURIComponent(csrfToken); | |
reqPool.initiate({ | |
action: "/recruit/Variables.do?action=createGroup", | |
type: "POST", | |
data: params, | |
success: function(responseJSon) { | |
if ("Limit Exceeded" == responseJSon.trim()) | |
crmui.showMsgBand("alert", I18n.getMsg("crm.variable.group.exceed.msg"), "3000"); | |
else if ("" == responseJSon) { | |
var jsn = Object(); | |
jsn.groupAction = "crm.variables.createnewgroup", $("#result").append($(Handlebars.templates.crmVariableGroup(jsn))), $("#groupaction").attr("action", "saveGroup"), $("#cVargroupPop").show(), $("#cVarGroupItems_chosen").hide(), $("#cVarCgroupName").val(""), $("#cVargroupAPIName").val(""), $("#cVarCgroupDesc").val(""), showAnimatePopup("cVargroupPop"), setFocusClass($("#cVarCgroupName")[0]), setTimeout(function() { | |
$("#cVarCgroupName").focus() | |
}, 100) | |
} | |
} | |
}) | |
}, | |
createVariable: function() { | |
var reqPool = new crmRequestPool, | |
params = csrfParamName + "=" + encodeURIComponent(csrfToken), | |
groupId = $(".cVarList").val(); | |
reqPool.initiate({ | |
action: "/recruit/Variables.do?action=createVariable&groupId=" + groupId, | |
type: "POST", | |
data: params, | |
success: function(responseJSon) { | |
"" != responseJSon && (cVar.createVariableRow(responseJSon), $("#cVarGroupItems").val(responseJSon.popGroupId).trigger("chosen:updated"), $("#cVarNAME").focus(), $("#cVarNAME").closest(".labelValCreate,.tabDiv").addClass("focusEleField")) | |
} | |
}) | |
}, | |
variableList: function(txt, params) { | |
if (params && params.variableId) { | |
var groupId = params.groupId; | |
groupId = void 0 != groupId ? groupId : "1"; | |
var dataparam = txt.variableDetails, | |
creJson = Object(); | |
creJson.editvariable = I18n.getMsg("crm.variable.editcrmvariable"), creJson.save = I18n.getMsg("crm.button.save"), creJson.cancel = I18n.getMsg("crm.button.cancel"); | |
var vId = dataparam.variableId, | |
uiType = dataparam.editUitype, | |
val = dataparam.value, | |
gId = dataparam.groupId, | |
apiName = dataparam.sysRefName, | |
description = dataparam.description, | |
uiTypeStr = dataparam.uiType, | |
varName = dataparam.variableName, | |
frag = document.createDocumentFragment(); | |
$(frag).append(crmTemplate.createvarFieldRow(cVar.createNewVariableName(varName))), $(frag).append(crmTemplate.createvarFieldRow(cVar.createNewvariableApiName(apiName))), $(frag).append(crmTemplate.createvarFieldRow(cVar.createNewVarDesc(description))), $(frag).append(crmTemplate.createvarFieldRow(cVar.editDataType(uiTypeStr))); | |
var fieldDiv = "crmdivVal", | |
valueLabel = "Value", | |
labelId = "fieldValue", | |
readOnly = "false", | |
displaylabel = I18n.getMsg("crm.label.value"), | |
elem1 = $(Handlebars.templates.crmCreateVariables(creJson)); | |
$("#result").html(elem1), $("#createeditvar").html(frag), $("#createeditvar").show(); | |
var resDiv = crmTemplate.createvarFieldRow(cVar.getjsonValueHandlebar(uiType, val, fieldDiv, valueLabel, labelId, readOnly, displaylabel)); | |
$("#crmdivVal").replaceWith(resDiv), $("#createeditvarvalue").show(), $("#createeditvarvalue").html(crmTemplate.createvarFieldRow(cVar.createNewGroup(txt))), $("#cVarGroupItems").val(gId).trigger("chosen:updated"), $("#saveVar").attr("id_attr", vId), $("#cVarSelectType").attr("data-editUiType", uiType), $("#saveVar").prop("disabled", !1), $("#saveVar").attr("groupId", groupId), $("#fieldDiv_cVarSelectType").addClass("cVarGroupChCtn"), cVar.updateChosen(), setFocusClass($("#cVarNAME")[0]), setTimeout(function() { | |
$("#cVarNAME").focus() | |
}, 100), Utils.showHideLoadingDiv(), EvalInnerScript(getObj("mainResult")), divId = params.subTab, crmSetup.selectSetupTab("general", divId, "crmvariables"), crmSetup.SetHeight_setup_inner_content(), adSearchClose() | |
} else { | |
if (!params || "createVariable" != params.action) { | |
cVar.variableObj = txt; | |
var headJson = new Array; | |
headJson.push("crm.variables.variablename"), headJson.push("crm.variables.datatype"), headJson.push("crm.variables.value"), headJson.push("crm.crmvariables.groupname"); | |
var responseJson = ZRCommonUtil.convertStringToJson(txt); | |
responseJson.title = "crm.crmvariables", responseJson.helpURL || (responseJson.helpURL = ""), responseJson.description = I18n.getValueForFields("crm.crmvariables.definition", "Zoho"), responseJson.featureName = I18n.getValueForFields("crm.crmvariables"), responseJson.createButton = "crm.crmvariables.createvariable", responseJson.heading = headJson, responseJson.fcrmVar = I18n.getValueForFields("crm.variables.fcrmvar"), responseJson.createVar = "", responseJson.setup = "cVar.showCustomSettings(this);", responseJson.editfn = "", responseJson.deletefn = "cVar.showDeletePop(this)", responseJson.deletConform = "crm.variables.delete.variablemesage", responseJson.editcrmvariable = "crm.variable.editcrmvariable.values", responseJson.groupName = "crm.variables.creategroupname", responseJson.groupDescription = "crm.variables.createvariabledescription", responseJson.grouprename = "crm.variable.grouprename", responseJson.deletevar = "crm.button.delete", responseJson.searchvariable = "crm.variables.searchvariables", responseJson.done = "Done", responseJson.save = "crm.button.save", responseJson.cancel = "crm.button.cancel", responseJson.cid = "cVarEdit", resJson = responseJson, resJson.createcidparams = '{"subTab":"crmvariables","action":"variables","tab":"general","calleeObj":"crmSetup","groupId":"1"}', Handlebars.registerPartial("crmSetUpInnerHeader", Handlebars.templates.crmSetUpInnerHeader), Handlebars.registerPartial("tabularView", Handlebars.templates.tabularView); | |
var divElem = Handlebars.templates.crmVariables(responseJson); | |
return Crm.addToHistory(void 0, void 0, { | |
pageTitle: "crm.crmvariables", | |
action: "variables", | |
actionMapping: "Variables", | |
calleeObj: "crmDummy", | |
orgCalleeObj: "crmSetup", | |
tab: "general", | |
subTab: "crmvariables" | |
}), $("#result").html(divElem), divElem | |
} | |
var gId = params.groupId; | |
cVar.createVariableRow(txt), setFocusClass($("#cVarNAME")[0]), $("#saveVar").attr("groupId", gId), setTimeout(function() { | |
$("#cVarNAME").focus() | |
}, 100), Utils.showHideLoadingDiv(), EvalInnerScript(getObj("mainResult")), divId = params.subTab, 1 != txt.popGroupId && $("#cVarGroupItems").val(txt.popGroupId).trigger("chosen:updated"), crmSetup.selectSetupTab("general", divId, "crmvariables"), crmSetup.SetHeight_setup_inner_content(), $("#fieldDiv_cVarSelectType").find(".labelValCreate").find(".newSelect").length || $("#fieldDiv_cVarSelectType").find(".labelValCreate").wrapInner('<div class="newSelectCrmVar"></div>'), adSearchClose() | |
} | |
}, | |
updateChosen: function() { | |
var gLen = $("#cVarGroupItems > option ").length; | |
$("#fieldDiv_cVarGroupItems").addClass("cVarGroupCtn"), $(".cVarGroupCtn select").on("chosen:ready", function() { | |
if (10 >= gLen) | |
var createGroup = "<div class='cVarGroupBtn col333 bgf5f5f5 proximaNovaRegular p5 f15 cP pL25 bT2'><span class='cVarplusBtn mR3'></span><span class='cVarGroupTxt ' onclick='cVar.createGroup();sE(event);'>" + I18n.getValueForFields("crm.variables.createnewgroup") + "</span></div>"; | |
else | |
var createGroup = "<div class='cVarGroupBtn col333 bgf5f5f5 proximaNovaRegular p5 f15 cP pL25 bT2' style='opacity: 0.5;cursor:text' onmouseover='zctt.showtt("" + I18n.getValueForFields("crm.variable.group.exceed.msg") + "")' onmouseout='zctt.hidett()'><span class='cVarplusBtn mR3'></span><span class='cVarGroupTxt'>" + I18n.getValueForFields("crm.variables.createnewgroup") + "</span></div>"; | |
isPluginOrg || $(this).next().find("ul.chosen-results").after(createGroup) | |
}).chosen({ | |
disable_search_threshold: 10, | |
"min-width": "40%", | |
"max-width": "100%", | |
no_results_text: "No Result for", | |
search_contains: !0, | |
placeholder_text_multiple: " ", | |
placeholder_text_single: " " | |
}); | |
var cVarGroupChosen = $("#cVarGroupItems_chosen"); | |
cVarGroupChosen.length && setTimeout(function() { | |
cVarGroupChosen.find(".cVarGroupBtn").innerWidth() > cVarGroupChosen.find(".chosen-drop").innerWidth() && cVarGroupChosen.find(".chosen-drop").css({ | |
width: cVarGroupChosen.find(".cVarGroupBtn").innerWidth() | |
}) | |
}, 500) | |
}, | |
crmVariableSetting: function(jsn) { | |
var html = cVar.variableList(jsn); | |
$("#result").empty(), $("#result")[0].innerHTML = html, Utils.bindChosen(".cVarGroup select"), cVar.searchVariable() | |
}, | |
showCustomFieldPop: function() { | |
showAnimatePopup("cVargroupPop"), $("#cFieldsSave").val("Add"), setTimeout(function() { | |
$("#cVarLbl").focus() | |
}, 1e3) | |
}, | |
checkforSpecilChar: function(id) { | |
var elem = $("#" + id), | |
value = elem.val().trim(), | |
reg = /[^~`'!@$:,.{}/#%^&*()+=[\]|\;"<>\\]/g; | |
("cVargroupAPIName" == id || "cVarAPINAME" == id) && (reg = /[^~`'!@$:,.{}/#%^&*()+=[\]|\;"<>\\ ]/g); | |
var excldCharsArr = getClrTxtPtnResChars(value, reg), | |
paramArr = []; | |
return paramArr.push($("#" + id + "_label").text()), paramArr.push(excldCharsArr.join(" ")), 1 == excldCharsArr.length && "cVargroupAPIName" != id && "cVarAPINAME" != id ? (Crm.showErrorMsg(I18n.getValueForFields("crm.variable.validationFail.alert", paramArr), elem), !0) : 0 == excldCharsArr.length || "cVargroupAPIName" != id && "cVarAPINAME" != id ? excldCharsArr.length > 1 ? (Crm.showErrorMsg(I18n.getValueForFields("crm.variable.validationFail.alert.moreThanOneChar", paramArr), elem), !0) : void 0 : (Crm.showErrorMsg(I18n.getValueForFields("crm.variable.validationFail.alert.space"), elem), !0) | |
}, | |
showDeletePop: function(el) { | |
var dataparam = $(el).closest("tr").attr("data-params"), | |
dataJson = JSON.parse(dataparam), | |
vId = dataJson.variableId, | |
vName = dataJson.variableName, | |
gId = dataJson.groupId; | |
cVar.mb_permanentDeleteCustomField(vId, vName, gId) | |
}, | |
validateApiName: function(apiName) { | |
return apiName.match(/^[A-Za-z0-9_]*$/) ? !1 : !0 | |
}, | |
checkForDuplicateName: function() { | |
var gName = (cVar.validateVariable("cVarCgroupName"), $("#cVarCgroupName").val().trim()), | |
actn = "checkGrpName", | |
params = "gName=" + gName, | |
groupId = $("#cFieldsSave").attr("id_attr"); | |
groupId = void 0 != groupId ? groupId : ""; | |
var reqPool = new crmRequestPool; | |
reqPool.initiate({ | |
action: "/recruit/Variables.do?action=" + actn + "&step1=save&gId=" + groupId, | |
type: "GET", | |
data: params, | |
success: function(responseJSon) { | |
var duplicate = void 0 != responseJSon.duplicate ? !0 : !1; | |
if (duplicate) { | |
var dupValue = responseJSon.dupValue; | |
dupValue = dupValue.split(":"); | |
var dubvName = dupValue[0], | |
obj = $("#cVarCgroupName"), | |
label = $("#cVarCgroupName_label").text(); | |
if ("GName" == dubvName) { | |
var dupMap = responseJSon.dupMap, | |
gName = dupMap.groupName, | |
ModuleName = dupMap.ModuleName; | |
"exist" == gName ? (Crm.showErrorMsg(I18n.getValueForFields("crm.variable.groupnameexist", label), obj), $("#cVarCgroupName").attr("duplicate", !0)) : "exist" == ModuleName && (Crm.showErrorMsg(I18n.getValueForFields("crm.variable.modulenameexist"), obj), $("#cVarCgroupName").attr("duplicate", !0)) | |
} | |
} else | |
$("#cVarCgroupName").attr("duplicate", !1), cVar.genGroupApiname("cVarCgroupName"), cVar.setFocus("cVargroupAPIName") | |
} | |
}) | |
}, | |
addCustomFields: function() { | |
$(".errorFieldP").removeClass("errorFieldP"), $(".errorMsgDesc").remove(); | |
var apiName = $("#cVargroupAPIName").val().trim(), | |
validate1 = cVar.validateVariable("cVarCgroupName"), | |
validate2 = cVar.validateVariable("cVargroupAPIName"); | |
if (!validate1 && !validate2) { | |
var actn = "saveGroup", | |
gName = $("#cVarCgroupName").val().trim(), | |
gDescription = $("#cVarCgroupDesc").val().trim(), | |
params = csrfParamName + "=" + encodeURIComponent(csrfToken); | |
params = params + "&gName=" + encodeURIComponent(gName) + "&gDesc=" + encodeURIComponent(gDescription) + "&gSysRefName=" + encodeURIComponent(apiName); | |
var groupId = $("#cFieldsSave").attr("id_attr"); | |
groupId = void 0 == groupId ? "" : groupId; | |
var groupIdAction = groupId; | |
$("#ajax_load_tab").show(); | |
var reqPool = new crmRequestPool; | |
reqPool.initiate({ | |
action: "/recruit/Variables.do?action=" + actn + "&step1=save&gId=" + groupId, | |
type: "POST", | |
data: params, | |
success: function(responseJSon) { | |
var duplicate = void 0 != responseJSon.duplicate ? !0 : !1, | |
mandatory = void 0 != responseJSon.mandatory ? !0 : !1; | |
if (mandatory) { | |
var obj = $("#cVarCgroupName"), | |
label = $("#cVarCgroupName_label").text(); | |
Crm.showErrorMsg(I18n.getValueForFields("crm.variables.dupicatevariable", label), obj) | |
} else if (duplicate) { | |
var dupValue = responseJSon.dupValue; | |
dupValue = dupValue.split(":"); | |
var dubvName = dupValue[0], | |
apiName = dupValue[1], | |
obj = $("#cVarCgroupName"), | |
label = $("#cVarCgroupName_label").text(), | |
apiObj = $("#cVargroupAPIName"), | |
apilabel = $("#cVargroupAPIName_label").text(); | |
if ("GAPIName" == apiName && Crm.showErrorMsg(I18n.getValueForFields("crm.variable.groupnameexist", apilabel), apiObj), "GName" == dubvName) { | |
var dupMap = responseJSon.dupMap, | |
groupName = dupMap.groupName, | |
ModuleName = dupMap.ModuleName; | |
"exist" == groupName ? (Crm.showErrorMsg(I18n.getValueForFields("crm.variable.groupnameexist", label), obj), $("#cVarCgroupName").attr("duplicate", !0)) : "exist" == ModuleName && (Crm.showErrorMsg(I18n.getValueForFields("crm.variable.modulenameexist"), obj), $("#cVarCgroupName").attr("duplicate", !0)) | |
} | |
$("#ajax_load_tab").hide() | |
} else { | |
if ($("#cVarCgroupName").attr("duplicate", !1), groupId = responseJSon.groupId, "" == groupIdAction) { | |
hideAnimatePopup("cVargroupPop"), $("#cVarGroupItems_chosen").show(); | |
var option = $("<option/>"); | |
option.attr({ | |
value: groupId, | |
gdesc: responseJSon.groupDescription, | |
gapiname: responseJSon.gsysRefName | |
}).text($("#cVarCgroupName").val().trim()), $(".cVarGroupCtn select").prepend(option), $(".cVarGroupCtn select").val(1).trigger("chosen:updated"); | |
var chsnnewWd, | |
_cVarGroupItem = $("#cVarGroupItems_chosen"), | |
cVarGroupItemWidth = _cVarGroupItem.find(".chosen-single span").innerWidth() + 25; | |
cVarGroupItemWidth < _cVarGroupItem.closest(".labelValCreate").innerWidth() && (chsnnewWd = cVarGroupItemWidth, $("#cVarGroupItems_chosen").css({ | |
width: chsnnewWd | |
})), $("#cvarGroupDesc").val(responseJSon.groupDescription) | |
} else if ("" == !groupIdAction || void 0 == !groupIdAction) { | |
var req = new crmRequestPool, | |
params = csrfParamName + "=" + encodeURIComponent(csrfToken); | |
req.initiate({ | |
action: "/recruit/Variables.do?action=variables", | |
type: "POST", | |
data: params, | |
success: function(resposneHtml) { | |
hideAnimatePopup("cVargroupPop"); | |
var txt = cVar.variableList(resposneHtml); | |
$("#result").empty(), $("#result")[0].innerHTML = txt, $(".cVarGroup select").next(".select2").remove(), $(".cVarList option[value=" + groupId + "]").attr("selected", "selected"), Utils.bindChosen(".cVarGroup select"), cVar.getGroupList(void 0, groupId), cVar.searchVariable(), crmui.showMsgBand("success", I18n.getMsg("crm.variable.group.rename.success"), "3000") | |
} | |
}) | |
} | |
$("#ajax_load_tab").hide() | |
} | |
$("#ajax_load_tab").hide() | |
} | |
}) | |
} | |
}, | |
removeErrorMsg: function() { | |
$(".errorFieldP").removeClass("errorFieldP"), $(".errorMsgDesc").remove() | |
}, | |
cancelgroupName: function() { | |
$("#cVarGroupItems_chosen").show(), hideAnimatePopup("cVargroupPop") | |
}, | |
addGroupCustomVariables: function() { | |
hideAnimatePopup("cVarPop"), $(".cFieldTable tr.topband_dv_row").eq(0).addClass("bgECF7FF"), setTimeout(function() { | |
$(".cFieldTable tr.topband_dv_row").eq(0).addClass("bgFFF") | |
}, 2e3) | |
}, | |
checkUncheck: function(el) { | |
var curEl = $(el); | |
curEl.hasClass("customCheckBoxChecked") ? curEl.removeClass("customCheckBoxChecked") : curEl.addClass("customCheckBoxChecked") | |
}, | |
createCvar: function() { | |
document.getElementById("cancelsBox1").setAttribute("onclick", "cVar.showPage1()"), $(".cFieldTable").addClass("hide") | |
}, | |
updategroupId: function(e) { | |
var dataparam = JSON.parse($("#cFieldsSave").attr("data-params")); | |
dataparam.groupId = e.value, $("#cFieldsSave").attr("data-params", JSON.stringify(dataparam)) | |
}, | |
getGroupList: function(e1, eid) { | |
var nR = 0, | |
gId = ""; | |
if (gId = void 0 == e1 ? eid : e1.value, groupObj = gId, $(".topband_dv_row").each(function() { | |
var dataparam = $(this).attr("data-params"), | |
dataJson = JSON.parse(dataparam), | |
groupId = dataJson.groupId; | |
if (gId != groupId && 1 != gId) | |
$(this).hide(); | |
else { | |
$(this).show(); | |
var editparam = JSON.parse($(this).closest("tr").find("#cvarEdit").attr("data-params")); | |
editparam.groupId = gId, $(this).closest("tr").find("#cvarEdit").attr("data-params", JSON.stringify(editparam)), nR += 1 | |
} | |
}), 1 != gId && nR > 0) { | |
$("#gearIcon").show(); | |
var isgeneral = $(".cVarList option:selected").attr("isgeneral"); | |
1 == isgeneral ? $("#Rename").hide() : $("#Rename").show() | |
} else | |
$("#gearIcon").hide() | |
}, | |
createCVar: function() { | |
$(".createCustomVariable").removeClass("hide"), $(".editCustomVariable").addClass("hide"), $(".page2 h2").html("Create Custom variable"), cVar.showPage2() | |
}, | |
editCustomFields: function(el) { | |
cVar.showCustomFieldPop(), $("#cVarCfieldName").val($.trim($(el).closest("tr").find("td").eq(1).html())), $("#cVarCfieldAPIName").val($.trim($(el).closest("tr").find("td").eq(2).html())), $("#cVarCfieldDesc").val($.trim($(el).closest("tr").find("td").eq(3).html())), $("#cVarCfieldDefVal").val($.trim($(el).closest("tr").find("td").eq(4).html())), $("#cFieldsSave").val("Save") | |
}, | |
editCustomVariables: function(el) { | |
showAnimatePopup("cVarPop"), $("#cVarENAME").val($.trim($(el).closest("tr").find("td").eq(1).html())), $("#cVarEAPINAME").val($.trim($(el).closest("tr").find("td").eq(2).html())), $("#cVarEDesc").val($.trim($(el).closest("tr").find("td").eq(3).html())), $("#cVarCfieldDefVal").val($.trim($(el).closest("tr").find("td").eq(4).html())), $(".cVarType").val($.trim($(el).closest("tr").find("td").eq(3).attr("varType"))).attr("disabled", !0), $(".cVarType").change() | |
}, | |
viewChanges: function(el) { | |
sE(event), curEl = $(el); | |
var leftPos = curEl.offset().left, | |
topPos = curEl.offset().top; | |
$("#viewCvariablesPOP").removeClass("hide").css({ | |
left: leftPos + curEl.width() - $("#viewCvariablesPOP").outerWidth() + "px", | |
top: topPos - $("#viewCvariablesPOP").outerHeight() + "px" | |
}) | |
}, | |
showCustomSettings: function() { | |
Crm.menu.createMenu(window.event, "groupSetup") | |
}, | |
searchVariable: function() { | |
$("#searchVar").on("keyup", function(e) { | |
var searchString = ($(".searchCustom").val().trim(), $(".searchCustom").val().trim().replace(/^\s+/gi, "")), | |
keyCode = e.keyCode ? e.keyCode : e.which; | |
13 == keyCode && $(".searchCustom").val(searchString), cVar.searchVar(searchString.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1")) | |
}).keypress(function(e) { | |
var keyCode = e.keyCode ? e.keyCode : e.which; | |
return 13 == keyCode ? (sE(), !1) : void 0 | |
}) | |
}, | |
searchVar: function(value) { | |
var groupId = $(".cVarList").val(); | |
value = value.toLowerCase(); | |
var nR = 0; | |
$(".topband_dv_row").each(function() { | |
var dataparam = $(this).attr("data-params"), | |
dataJson = JSON.parse(dataparam), | |
gId = dataJson.groupId; | |
$row = $(this); | |
var id = $row.find("td:eq(1)").text(), | |
id2 = $row.find("td:eq(2)").text(), | |
id3 = $row.find("td:eq(3)").text(); | |
-1 == id.toLowerCase().search(value) && -1 == id2.toLowerCase().search(value) && -1 == id3.toLowerCase().search(value) || groupId != gId && 1 != groupId ? $(this).hide() : ($(this).show(), nR += 1), 0 >= nR ? $("#noRecordsFound").show() : $("#noRecordsFound").hide() | |
}) | |
}, | |
updateBulkVariables: function() { | |
var idArr = Array(), | |
valObjArr = Array(); | |
if ($("#bulkVarList .tabDivCreate").each(function() { | |
var varObj = {}, | |
id = void 0 == $(this).find("input").attr("id") ? $(this).find("textarea").attr("id") : $(this).find("input").attr("id"); | |
idArr.push(id), varObj.varId = id; | |
var elem = $("#" + id), | |
data = elem.data(), | |
contentType = data.contenttype, | |
value = $("#" + id).val().trim(); | |
value = "Boolean" == contentType ? elem.is(":checked") ? "ON" : "OFF" : value; | |
var timeVal = ""; | |
if (null != $("#" + id + "_TimeOption").val()) { | |
var meridiem = Utils.getMeridiem($("#" + elem.attr("id") + "_TimeOption").timeEntry("getTime")).toUpperCase(); | |
timeVal = $("#" + id + "_TimeOption").val().split(" ")[0] + " " + meridiem | |
} | |
"DateTime" === contentType && "" == value && ($("#" + elem.attr("id") + "_TimeOption").val(""), timeVal = ""), void 0 != timeVal && "" != timeVal && (value = value + " " + timeVal), varObj.value = value, valObjArr.push(varObj) | |
}), Crm.validateFormFields(idArr)) { | |
$("#ajax_load_tab").show(); | |
var groupId = $(".cVarList").val(), | |
grName = $(".cVarList option:selected").text(), | |
resJson = Object(); | |
resJson.varDetails = valObjArr, resJson.groupId = $(".cVarList").val(); | |
var reqPool = new crmRequestPool; | |
reqPool.initiate({ | |
action: "/recruit/Variables.do?action=updateBulkVariables", | |
type: "POST", | |
data: { | |
loadProds: 1, | |
updateVarJson: JSON.stringify(resJson), | |
crmcsrfparam: encodeURIComponent(csrfToken) | |
}, | |
dataType: "JSON", | |
success: function(resJsn) { | |
hideAnimatePopup("editAllCvar"); | |
var txt = cVar.variableList(JSON.stringify(resJsn)); | |
$("#result").empty(), $("#result")[0].innerHTML = txt, $(".cVarGroup select").next(".select2").remove(), $(".cVarList option[value=" + groupId + "]").attr("selected", "selected"), Utils.bindChosen(".cVarGroup select"), crmui.showMsgBand("success", I18n.getMsg("crm.variable.bulk.update", grName), "3000"), cVar.getGroupList(void 0, groupId), cVar.searchVariable(), $("#ajax_load_tab").hide() | |
} | |
}) | |
} | |
}, | |
bulkEditCancel: function() { | |
$("#bulkVarList").html("") | |
}, | |
editGroup: function() { | |
var id = groupObj, | |
reqPool = new crmRequestPool, | |
params = csrfParamName + "=" + encodeURIComponent(csrfToken); | |
params = params + "&groupId=" + id, reqPool.initiate({ | |
action: "/recruit/Variables.do?action=updateGroup", | |
type: "GET", | |
data: params, | |
success: function(responseJSon) { | |
gName = void 0 != responseJSon.groupName ? responseJSon.groupName : "", desc = void 0 != responseJSon.gDescription ? responseJSon.gDescription : "", gsysRefname = void 0 != responseJSon.gSysRefname ? responseJSon.gSysRefname : "", groupId = responseJSon.gId; | |
var jsn = Object(); | |
jsn.groupAction = "crm.variable.editgroup", $("#result").append($(Handlebars.templates.crmVariableGroup(jsn))), $("#cVargroupPop").show(), $("#groupaction").attr("action", "saveGroup"), $("#cVarCgroupName").val(gName), $("#cVarCgroupDesc").val(desc), $("#cVargroupAPIName").val(gsysRefname), $("#cFieldsSave").attr("id_attr", groupId), showAnimatePopup("cVargroupPop"), setFocusClass($("#cVarCgroupName")[0]), setTimeout(function() { | |
$("#cVarCgroupName").focus() | |
}, 100), $(".errorFieldP").removeClass("errorFieldP"), $(".errorMsgDesc").remove() | |
} | |
}) | |
}, | |
getVarApiName: function(id) { | |
var varId = $("#saveVar").attr("id_attr"), | |
apinameValue = $("#cVarAPINAME").val().trim(), | |
varName = $("#cVarNAME").val().trim(), | |
groupId = $("#cVarGroupItems").val(); | |
if (("" != varName || "" != apinameValue) && ("cVarNAME" != id || "" == varName || cVar.validateVariable("cVarNAME") ? "cVarAPINAME" != id || "" == varName || cVar.validateVariable("cVarNAME") || "" != apinameValue || "" == apinameValue && (cVar.reqgenApiname(varName, varId, groupId, apinameValue), $("#cVarAPINAME").focus()) : "" == apinameValue && (cVar.reqgenApiname(varName, varId, groupId, apinameValue), $("#cVarAPINAME").focus()), "cVarAPINAME" == id && "" != apinameValue && !cVar.validateVariable("cVarAPINAME"))) | |
if (cVar.validateApiName(apinameValue)) { | |
var obj = ($("#cVarAPINAME_label").text(), $("#cVarAPINAME")), | |
elem = $("#" + id), | |
value = elem.val().trim(), | |
reg = /[^~`'!@$:,.{}/#%^&*()+=[\]|\;"<>\\]/g, | |
excldCharsArr = getClrTxtPtnResChars(value, reg), | |
paramArr = []; | |
paramArr.push($("#" + id + "_label").text()), paramArr.push(excldCharsArr.join(" ")), Crm.showErrorMsg(I18n.getValueForFields("crm.variable.validationFail.alert.moreThanOneChar", paramArr), obj) | |
} else | |
varName = apinameValue, cVar.reqgenApiname(varName, varId, groupId, apinameValue) | |
}, | |
reqgenApiname: function(varName, id, groupId, apiName) { | |
if ("" != varName) { | |
var reqPool = new crmRequestPool, | |
params = "varName=" + varName, | |
params = "" != id ? params + "&varId=" + id : params; | |
params = "" != groupId ? params + "&groupId=" + groupId : params, params = void 0 != apiName ? params + "&apiName=" + apiName : params, reqPool.initiate({ | |
action: "/recruit/Variables.do?action=genApiName", | |
type: "GET", | |
data: params, | |
success: function(responseJSon) { | |
var duplicate = responseJSon.duplicate; | |
if ("exist" != duplicate) { | |
var apiName = responseJSon.varApiName; | |
return $("#cVarAPINAME").val(apiName), cVar.checkforVarSave(), apiName | |
} | |
var apiObj = $("#cVarAPINAME"), | |
apilabel = $("#cVarAPINAME_label").text(); | |
Crm.showErrorMsg(I18n.getValueForFields("crm.variables.dupicatevariable", apilabel), apiObj) | |
} | |
}) | |
} | |
}, | |
setFocus: function(id) { | |
$("#" + id).focus(), $("#" + id).closest(".labelValCreate,.tabDiv").addClass("focusEleField") | |
}, | |
editAllCrmVariables: function() { | |
var popJson = {}; | |
popJson.groupName = $(".cVarList option:selected").text(), popJson.done = "Done", popJson.cancel = "crm.button.cancel"; | |
var editAllCvar = Handlebars.templates.crmVariablesPopup(popJson); | |
$("#result").append(editAllCvar); | |
var gId = (new Array, ""), | |
groupId = $(".cVarList").val(), | |
frag = document.createDocumentFragment(); | |
$(".topband_dv_row").each(function(index) { | |
var dataparam = $(this).attr("data-params"), | |
dataJson = JSON.parse(dataparam); | |
if (groupId == dataJson.groupId) { | |
var labelId = "bulkedit_" + dataJson.variableId; | |
gId = dataJson.groupId; | |
var valueLabel = dataJson.variableName, | |
uiType = dataJson.uiType, | |
value = dataJson.value, | |
fieldDiv = "bulkVarEdit" + index, | |
readOnly = "false", | |
displaylabel = dataJson.variableName, | |
res = crmTemplate.createvarFieldRow(cVar.getjsonValueHandlebar(uiType, value, fieldDiv, valueLabel, labelId, readOnly, displaylabel)); | |
$(frag).append(res) | |
} | |
}), $("#bulkVarList").append(frag), showAnimatePopup("editAllCvar"); | |
var varId = $('[id^="bulkedit"]').eq(0).attr("id"); | |
$("#" + varId).closest(".labelValCreate,.tabDiv").addClass("focusEleField"), setTimeout(function() { | |
var fieldType = $("#" + varId).attr("data-fieldtype"); | |
"dateField" != fieldType && $("#" + varId).focus() | |
}, 300) | |
}, | |
cancelBulkVar: function() { | |
hideAnimatePopup("editAllCvar") | |
}, | |
createValueRow: function() { | |
var selObj = $("#cVarSelectType"), | |
uiType = selObj.val(), | |
fieldDiv = "crmdivVal", | |
valueLabel = "Value", | |
labelId = "fieldValue", | |
readOnly = "false", | |
displaylabel = I18n.getMsg("crm.label.value"), | |
resDiv = crmTemplate.createvarFieldRow(cVar.getjsonValueHandlebar(uiType, void 0, fieldDiv, valueLabel, labelId, readOnly, displaylabel)); | |
$("#crmdivVal").replaceWith(resDiv) | |
}, | |
createNewVariableName: function(value) { | |
var createJson = Object(); | |
return createJson.displaylabel = I18n.getValueForFields("crm.variables.createvariablename"), createJson.valueLabel = "cVarNAME", createJson.labelId = "cVarNAME", createJson.maxlength = "50", createJson.contentType = "text", createJson.i18fieldType = I18n.getValueForFields("crm.variables.createvariablename"), createJson.blurfn = "cVar.blurVarfn('cVarNAME');cVar.removeErrorDiv(this);", createJson.focusOutfn = "cVar.blurVarfn('cVarNAME');cVar.removeErrorDiv(this);", createJson.readOnly = "false", createJson.mandate = "true", createJson.defaultValue = value, createJson.type = "text", createJson.fieldDiv = "fieldDiv_cVarNAME", createJson | |
}, | |
createNewvariableApiName: function(value) { | |
var createJson = Object(); | |
return createJson.displaylabel = I18n.getValueForFields("crm.variables.apiname"), createJson.valueLabel = "cVarAPINAME", createJson.labelId = "cVarAPINAME", createJson.maxlength = "100", createJson.contentType = "text", createJson.i18fieldType = I18n.getValueForFields("crm.variables.apiname"), createJson.blurfn = "cVar.blurVarfn('cVarAPINAME');cVar.removeErrorDiv(this);", createJson.focusOutfn = "cVar.blurVarfn('cVarAPINAME');cVar.removeErrorDiv(this);", createJson.readOnly = "false", createJson.mandate = "true", createJson.defaultValue = value, createJson.type = "text", createJson.style = "display:none", createJson.fieldDiv = "fieldDiv_cVarAPINAME", createJson | |
}, | |
createNewVarDesc: function(value) { | |
var createJson = Object(); | |
return createJson.displaylabel = I18n.getValueForFields("crm.variables.createvariabledescription"), createJson.valueLabel = "cVarDesc_label", createJson.labelId = "cVarDesc", createJson.maxlength = "1000", createJson.contentType = "textarea", createJson.i18fieldType = I18n.getValueForFields("crm.variables.createvariabledescription"), createJson.readOnly = "false", createJson.mandate = "false", createJson.defaultValue = value, createJson.type = "textarea", createJson.fieldDiv = "fieldDiv_cVarDesc", createJson | |
}, | |
createNewDataType: function(value) { | |
var createJson = Object(); | |
return createJson.displaylabel = I18n.getValueForFields("crm.variables.createvariabletype"), createJson.valueLabel = "cVarSelectType", createJson.labelId = "cVarSelectType", createJson.maxlength = "100", createJson.contentType = "select", createJson.i18fieldType = I18n.getValueForFields("crm.variables.createvariabletype"), createJson.readOnly = "false", createJson.mandate = "true", createJson.defaultValue = value, createJson.type = "select", createJson.fieldDiv = "fieldDiv_cVarSelectType", createJson.onclick = "sE(event)", createJson.onchange = "cVar.createValueRow();cVar.blurVarfn();cVar.removeErrorDiv(this);", createJson.selectDetails = [{ | |
selectValue: "", | |
selectOption: I18n.getValueForFields("crm.select") | |
}, { | |
selectValue: 1, | |
selectOption: I18n.getValueForFields("crm.field.label.single.line") | |
}, { | |
selectValue: 32, | |
selectOption: I18n.getValueForFields("crm.field.label.integer") | |
}, { | |
selectValue: 34, | |
selectOption: I18n.getValueForFields("crm.field.label.percentage") | |
}, { | |
selectValue: 38, | |
selectOption: I18n.getValueForFields("crm.field.label.decimal") | |
}, { | |
selectValue: 36, | |
selectOption: I18n.getValueForFields("crm.field.label.currency") | |
}, { | |
selectValue: 24, | |
selectOption: I18n.getValueForFields("crm.field.label.date") | |
}, { | |
selectValue: 30, | |
selectOption: I18n.getValueForFields("crm.field.label.date.time") | |
}, { | |
selectValue: 25, | |
selectOption: I18n.getValueForFields("crm.field.label.email") | |
}, { | |
selectValue: 33, | |
selectOption: I18n.getValueForFields("crm.field.label.phone") | |
}, { | |
selectValue: 21, | |
selectOption: I18n.getValueForFields("crm.field.label.url") | |
}, { | |
selectValue: 110, | |
selectOption: I18n.getValueForFields("crm.field.label.text.area") | |
}, { | |
selectValue: 301, | |
selectOption: I18n.getValueForFields("crm.field.label.check.box") | |
}, { | |
selectValue: 52, | |
selectOption: I18n.getValueForFields("crm.field.label.long.integer") | |
}], createJson | |
}, | |
createNewGroup: function(responseJSon) { | |
var createJson = Object(); | |
return createJson.displaylabel = I18n.getValueForFields("crm.variables.createvariablegroup"), createJson.valueLabel = "cVarGroupItems_label", createJson.labelId = "cVarGroupItems", createJson.maxlength = "100", createJson.contentType = "select", createJson.onchange = "cVar.checkforVarSave()", createJson.i18fieldType = I18n.getValueForFields("crm.variables.createvariablegroup"), createJson.readOnly = "false", createJson.mandate = "true", createJson.type = "select", createJson.fieldDiv = "fieldDiv_cVarGroupItems", createJson.selectDetails = responseJSon.groupDetails, createJson | |
}, | |
createVariableRow: function(responseJSon) { | |
var creJson = Object(); | |
creJson.editvariable = I18n.getMsg("crm.variables.createcrmvalue"), creJson.save = I18n.getMsg("crm.button.save"), creJson.cancel = I18n.getMsg("crm.button.cancel"); | |
var hj = cVar.createNewVariableName(), | |
frag = document.createDocumentFragment(), | |
elem = $(Handlebars.templates.crmFormFields(hj)); | |
$(frag).append(elem), $(frag).append(crmTemplate.createvarFieldRow(cVar.createNewvariableApiName())), $(frag).append(crmTemplate.createvarFieldRow(cVar.createNewVarDesc())), $(frag).append(crmTemplate.createvarFieldRow(cVar.createNewDataType())), $(frag).append(); | |
var elem1 = $(Handlebars.templates.crmCreateVariables(creJson)); | |
$("#result").html(elem1), $("#createeditvar").html(frag), $("#createeditvar").show(), $("#createeditvarvalue").html($(Handlebars.templates.crmFormFields(cVar.createNewGroup(responseJSon)))), $("#createeditvarvalue").show(), cVar.updateChosen() | |
}, | |
editDataType: function(value) { | |
var createJson = Object(); | |
return createJson.displaylabel = I18n.getValueForFields("crm.variables.createvariabletype"), createJson.valueLabel = "cVarSelectType_label", createJson.labelId = "cVarSelectType", createJson.maxlength = "100", createJson.contentType = "select", createJson.i18fieldType = I18n.getValueForFields("crm.variables.createvariabletype"), createJson.readOnly = "true", createJson.mandate = "true", createJson.defaultValue = value, createJson.type = "text", createJson.fieldDiv = "fieldDiv_cVarSelectType", createJson.onclick = "sE(event)", createJson.onchange = "cVar.createValueRow();cVar.blurVarfn();cVar.removeErrorDiv(this);", createJson | |
}, | |
getjsonValueHandlebar: function(uiType, value, fieldDiv, valueLabel, labelId, readOnly, displaylabel) { | |
value = void 0 == value ? "" : value; | |
var dataObj = {}, | |
type = "text", | |
mandate = "false", | |
fieldTypeMap = { | |
1: "Text", | |
32: "Number", | |
110: "Textarea", | |
21: "URL", | |
24: "Date", | |
30: "DateTime", | |
25: "Email", | |
33: "Phone", | |
34: "Percent", | |
38: "Decimal", | |
36: "Currency", | |
300: "Boolean", | |
301: "Boolean", | |
52: "LongInteger" | |
}, | |
i18NfieldTypeMap = { | |
1: "crm.field.label.single.line", | |
32: "crm.field.label.integer", | |
34: "crm.field.label.percentage", | |
38: "crm.field.label.decimal", | |
36: "crm.field.label.currency", | |
24: "crm.field.label.date", | |
30: "crm.field.label.date.time", | |
25: "crm.field.label.email", | |
33: "crm.field.label.phone", | |
21: "crm.field.label.url", | |
110: "crm.field.label.text.area", | |
301: "crm.field.label.check.box", | |
52: "crm.field.label.long.integer" | |
}, | |
maxLenMap = { | |
1: 255, | |
32: 9, | |
34: 250, | |
38: 16, | |
35: 16, | |
33: 30, | |
25: 255, | |
21: 255, | |
110: 3e3, | |
52: 18, | |
36: 16 | |
}, | |
decLenMap = { | |
38: 9, | |
36: 9 | |
}; | |
if (24 == uiType) | |
type = "date", dataObj.showexecution = "false", dataObj.datePattern = "mm/dd/yyyy"; | |
else if (30 == uiType) { | |
if (type = "datetime", dataObj.showexecution = "false", dataObj.datePattern = "mm/dd/yyyy", dataObj.timePattern = "hh:mm a", "" != value && " " != value) { | |
var dt = " " != value ? new Date(value) : new Date, | |
pattern = dataObj.datePattern, | |
defVal = Utils.convertTo12HoursFormatTimeObj(dt); | |
value = crmCalendar.convertToUserDatePattern(dt.getDate() + " " + dt.getMonth() + " " + dt.getFullYear(), pattern), timeVal = defVal.hrs + ":" + defVal.mins + " " + I18n.getMsg(defVal.meridiem.toUpperCase()), dataObj.timevalue = timeVal | |
} | |
} else | |
300 == uiType || 301 == uiType ? (type = "checkbox", value = "ON" == value ? "true" : "false") : 110 == uiType ? type = "textarea" : 36 == uiType && (type = "currency"); | |
var contentType = fieldTypeMap[uiType]; | |
return dataObj.type = type, dataObj.i18fieldType = I18n.getMsg(i18NfieldTypeMap[uiType]), dataObj.fieldDiv = fieldDiv, dataObj.valueLabel = valueLabel, dataObj.labelId = labelId, dataObj.readOnly = readOnly, dataObj.contentType = contentType, dataObj.defaultValue = value, dataObj.mandate = mandate, dataObj.displaylabel = displaylabel, dataObj.maxlength = maxLenMap[uiType], dataObj.decimalLength = decLenMap[uiType], dataObj.blurfn = "cVar.removeErrorDiv(this);", dataObj | |
}, | |
removeErrorDiv: function(rem) { | |
var id = rem.id; | |
$("#errorMsg_" + id).hide(), $(rem).closest(".errorFieldP").removeClass("errorFieldP") | |
}, | |
notifyUser: function(notificationType, content, duration) { | |
var notificationObj = $("#dispMsg"); | |
notificationObj.removeClass().html(""); | |
var iconI = $("<i/>").addClass("fL infoAlertMsgIc formBuildIcons"), | |
closeIcon = $("<i/>").addClass("closeIcon formBuildIcons fR mT5 mL5 cP").attr("onclick", "$(this).parent().fadeOut()"); | |
"alert" === notificationType ? (notificationObj.attr("class", "crmVarTrans errorAlertMsg proxima fontSmooth f13"), iconI = $("<i/>").addClass("fL errAlertMsgIc phonePage formBuildIcons"), closeIcon = $("<i/>").addClass("closeIconErr formBuildIcons fR mT5 mL5 cP").attr("onclick", "$(this).parent().fadeOut()")) : "success" === notificationType ? (notificationObj.attr("class", "crmVarTrans successAlertMsg proxima fontSmooth f13"), iconI = $("<i/>").addClass("fL successAlertMsgIc phonePage formBuildIcons")) : notificationObj.attr("class", "infoMsgAlert proxima fontSmooth f13"); | |
var totalWidth = $("#result").width(), | |
dispMsgLeft = totalWidth / 2 + $("#setup_new_leftmenuDiv").innerWidth(), | |
succAlertTop = $("#setupInnerLinks").innerHeight() + $("#tabLayer").innerHeight(), | |
relativeTo = 0; | |
$("#addCustomVariable").length > 0 && (relativeTo = $("#addCustomVariable").width() / 2), void 0 !== duration ? (setTimeout(function() { | |
notificationObj.html(iconI).append($("<span>").addClass("mL8").html(content)).css({ | |
top: succAlertTop, | |
"z-index": 10, | |
position: "absolute", | |
left: dispMsgLeft - notificationObj.innerWidth() / 2, | |
display: "inline-block" | |
}).addClass("zcrm-trans").delay(duration).fadeOut() | |
}, 700), setTimeout(function() { | |
notificationObj.removeClass("zcrm-trans") | |
}, duration + 200)) : notificationObj.html(iconI).append($("<span>").addClass("mL8").html(content)).css({ | |
top: succAlertTop, | |
"z-index": 10, | |
position: "absolute", | |
left: dispMsgLeft - notificationObj.innerWidth() / 2, | |
display: "inline-block" | |
}).append(closeIcon).fadeIn() | |
}, | |
validateVariable: function(id) { | |
var label = $("#" + id + "_label").text(), | |
obj = $("#" + id), | |
check = Utils.isFieldEmpty(obj); | |
return check && "Variable Type" == label ? Crm.showErrorMsg(I18n.getValueForFields("crm.variable.crmvariabletype.empty", label), obj) : check && "API Name" == label ? Crm.showErrorMsg(I18n.getValueForFields("crm.variable.crmvariableAPIName.empty"), obj) : !check || "Variable Name" != label && "Group Name" != label ? check ? Crm.showErrorMsg(I18n.getValueForFields("crm.field.empty.check", label), obj) : check = cVar.checkforSpecilChar(id) : Crm.showErrorMsg(I18n.getValueForFields("crm.variable.crmvariableVarName.empty", label), obj), check | |
}, | |
checkforVarSave: function() { | |
var varName = $("#cVarNAME").val().trim(), | |
varApiName = $("#cVarAPINAME").val().trim(), | |
varType = $("#cVarSelectType").val().trim(); | |
"" != varName && "" != varApiName && "" != varType && $("#saveVar").prop("disabled", !1) | |
}, | |
blurVarfn: function(id) { | |
cVar.getVarApiName(id), cVar.checkforVarSave() | |
}, | |
genGroupApiname: function(id) { | |
$(".errorFieldP").removeClass("errorFieldP"), $(".errorMsgDesc").remove(); | |
var dupGName = $("#cVarCgroupName").attr("duplicate"); | |
if ("false" == dupGName) { | |
var grpId = $("#cFieldsSave").attr("id_attr"); | |
grpId = void 0 != grpId ? grpId : ""; | |
var grpName = $("#cVarCgroupName").val().trim(), | |
apinameValue = $("#cVargroupAPIName").val().trim(); | |
"cVarCgroupName" != id || "" == grpName || cVar.validateVariable("cVarCgroupName") || "" == apinameValue && (Crm.showErrorMsg(I18n.getValueForFields("crm.variable.crmvariableAPIName.empty"), "APIName"), cVar.reqGroupApiName(grpName, grpId)), "cVargroupAPIName" != id || "" == grpName || "" != apinameValue || cVar.validateVariable("cVarCgroupName") || "" == apinameValue && cVar.reqGroupApiName(grpName, grpId), "cVargroupAPIName" != id || "" == apinameValue || cVar.validateVariable("cVargroupAPIName") || cVar.reqGroupApiName(apinameValue, grpId) | |
} | |
}, | |
reqGroupApiName: function(grpName, grpId) { | |
var reqPool = new crmRequestPool, | |
params = "varGrpName=" + grpName; | |
params = "" != grpId ? params + "&groupId=" + grpId : params, reqPool.initiate({ | |
action: "/recruit/Variables.do?action=gengroupApiName", | |
type: "GET", | |
data: params, | |
success: function(responseJSon) { | |
var apiName = responseJSon.groupApiName; | |
return $("#cVargroupAPIName").val(apiName), apiName | |
} | |
}) | |
}, | |
deleteVar: function() { | |
var varId = $("#deleteConfirmBtn").attr("varid"); | |
$("#deleteConfirmBtn").attr("disabled", "true").addClass("disabled"); | |
var groupId = (resJson.groupList, $("#deleteConfirmBtn").attr("groupId")), | |
vName = $("#deleteConfirmBtn").attr("varName"), | |
params = csrfParamName + "=" + encodeURIComponent(csrfToken), | |
reqPool = new crmRequestPool; | |
reqPool.initiate({ | |
action: "/recruit/Variables.do?action=deleteVariables&varId=" + varId, | |
type: "POST", | |
data: params, | |
success: function(responseHtml) { | |
responseHtml = JSON.stringify(responseHtml), groupId = -1 != responseHtml.search(groupId) ? groupId : 1; | |
var txt = cVar.variableList(responseHtml); | |
$("#result").empty(), $("#result")[0].innerHTML = txt, hideAnimatePopup("cVarDeletePop"), cVar.searchVariable(), vName = " ' " + vName + " ' "; | |
var msg = I18n.getValueForFields("crm.variable.delete", vName); | |
$(".cVarGroup select").next(".select2").remove(), Utils.bindChosen(".cVarGroup select"), crmui.showMsgBand("success", msg, "3000") | |
} | |
}) | |
}, | |
getactionUrl: function(params) { | |
return params.action = "variables", params.groupId && (params.action = "createVariable"), params.variableId && (params.action = "updateVar"), params | |
}, | |
cancelVar: function() { | |
var grId = $("#saveVar").attr("groupId"); | |
grId = void 0 != grId ? grId : 1; | |
var reqPool = new crmRequestPool; | |
reqPool.initiate({ | |
action: "/recruit/Variables.do?action=variables", | |
type: "POST", | |
success: function(respHTML) { | |
var txt = cVar.variableList(respHTML); | |
if ($("#result").empty(), $("#result")[0].innerHTML = txt, setTimeout(function() { | |
crmLayout.Resize.Setup() | |
}, 300), void 0 === $("#cFieldsSave").attr("data-params")) | |
var dataparam = {}; | |
else | |
var dataparam = JSON.parse($("#cFieldsSave").attr("data-params")); | |
dataparam.groupId = grId, $("#cFieldsSave").attr("data-params", JSON.stringify(dataparam)), $(".cVarGroup select").next(".select2").remove(), $(".cVarList option[value=" + grId + "]").attr("selected", "selected"), Utils.bindChosen(".cVarGroup select"), cVar.getGroupList(void 0, grId), cVar.searchVariable() | |
} | |
}) | |
}, | |
mb_permanentDeleteCustomField: function(vId, vName, gId) { | |
cVar.deleteCheck(vId, vName, gId) | |
}, | |
deleteCheck: function(id, name, grpId) { | |
var cvstr, | |
reqPool = new crmRequestPool, | |
param = "varId=" + id + "&grpId=" + grpId + "&varName=" + name + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
$("#ajax_load_tab").show(), reqPool.initiate({ | |
action: "/recruit/Variables.do?action=checkVarDelete", | |
type: "POST", | |
data: param, | |
success: function(respHTML) { | |
"false" == respHTML ? ($("#deleteConfirmBtn").attr("varId", id), $("#deleteConfirmBtn").attr("groupId", grpId), name = " " + name, $("#deleteConfirmBtn").attr("varName", name), $(".cVarCustomFieldName").html(name), showAnimatePopup("cVarDeletePop")) : (cvstr = respHTML, $("#deleteInfo1").empty(), getElemById("deleteInfo1").innerHTML = I18n.getMsg("crm.variable.delete.before.pop", name), cVar.deleteCRFWarning(id, cvstr, grpId, name)), $("#ajax_load_tab").hide() | |
} | |
}) | |
}, | |
deleteCRFWarning: function(id, cvstr) { | |
freezeBackground(); | |
var isfieldUsedInForecast = !1; | |
$("#itdiv").empty(), $("#etdiv").empty(), $("#wfTaskdiv").empty(), $("#wfWHdiv").empty(), getElemById("itdiv").innerHTML = "", getElemById("etdiv").innerHTML = "", getElemById("wfTaskdiv").innerHTML = "", getElemById("wfWHdiv").innerHTML = "", getElemById("ithead").style.display = "none", getElemById("ethead").style.display = "none", getElemById("wfTaskhead").style.display = "none", getElemById("wfWHdiv").style.display = "none", getElemById("wfWHhead").style.display = "none"; | |
var cfUsedPlaces = cvstr.split("|*|"); | |
if (cfUsedPlaces.length > 2) { | |
var cfJsonObj = JSON.parse(cfUsedPlaces[2]); | |
for (var key in cfJsonObj) { | |
var values = cfJsonObj[key]; | |
"inventoryRecords" == key ? cVar.showCFoffectedRecords(values, "it", "/recruit/PrintLayout.do?step=edit&templateId=") : "emailTemplateRecords" == key ? cVar.showCFoffectedRecords(values, "et", "/recruit/ShowSetup.do?tab=custom&subTab=email&step=editEmailTemplate&emailTemplateId=") : "workFlowTask" == key ? cVar.showCFoffectedRecords(values, "wfTask", "/recruit/ShowSetup.do?tab=automate&subTab=task&step=showTask&taskId=") : "workFlowWebHookRecords" == key && cVar.showCFoffectedRecords(values, "wfWH", "/recruit/ShowSetup.do?tab=automate&subTab=webhook&step=showWebHook&webHookId=") | |
} | |
} | |
var cvnames = cfUsedPlaces[0], | |
cvids = cfUsedPlaces[1].split("~~"), | |
isInaccessibleCVsPresent = (cfUsedPlaces[1], !1); | |
if (cvnames.indexOf("||**||true") > -1 && (cvnames = cvnames.replace("||**||true", ""), isInaccessibleCVsPresent = !0), cvnames = cvnames.split("~~"), isInaccessibleCVsPresent || cvnames[0].length && !isfieldUsedInForecast) { | |
var ul = document.createElement("ul"); | |
for (ul.style.marginTop = "0px", i = 0; i < cvnames.length - 1; i++) { | |
var li = document.createElement("li"), | |
editCV = document.createElement("a"); | |
editCV.textContent = revertSplChrs(cvnames[i]); | |
var editurl = "/recruit/EditCV.do?module=" + module + "&cvid=" + cvids[i]; | |
editCV.setAttribute("href", editurl), editCV.setAttribute("target", "_blank"), li.appendChild(editCV), ul.appendChild(li) | |
} | |
} | |
isfieldUsedInForecast || $("#deleteInfo2,#deleteDetails,#deleteInfo1").show(), crmui.showPop("deletefield", !0) | |
}, | |
showCFoffectedRecords: function(values, elemName, editUrl) { | |
edUrl = editUrl, getElemById(elemName + "head").style.display = "", getElemById(elemName + "div").style.display = ""; | |
var ul = document.createElement("ul"); | |
for (var id in values) { | |
var IRDetails = values[id], | |
li = document.createElement("li"); | |
li.setAttribute("class", "p3"); | |
var editIR = document.createElement("a"); | |
editIR.textContent = IRDetails[0]; | |
var editModName = document.createElement("span"); | |
editModName.textContent = "- " + IRDetails[1], editModName.setAttribute("class", "dIB mL5 color_3 fs"); | |
var editUrl = edUrl + id, | |
editUrl = edUrl + id; | |
editIR.setAttribute("href", editUrl), editIR.setAttribute("target", "_blank"), li.appendChild(editIR), li.appendChild(editModName), ul.appendChild(li) | |
} | |
getElemById(elemName + "div").appendChild(ul) | |
}, | |
createVar: function() { | |
$("#saveVar").prop("disabled", !0), $(".errorFieldP").removeClass("errorFieldP"), $(".errorMsgDesc").remove(); | |
var validation1 = !cVar.validateVariable("cVarNAME"), | |
validation2 = !cVar.validateVariable("cVarSelectType"), | |
validation3 = !cVar.validateVariable("cVarGroupItems"), | |
validation4 = !cVar.validateVariable("cVarAPINAME"), | |
validation = validation1 && validation2 && validation3 && validation4, | |
apiName = $("#cVarAPINAME").val().trim(), | |
elem = $("#fieldValue"), | |
data = elem.data(), | |
type = (data.displaylabel, data.contenttype); | |
if ("DateTime" === type) { | |
var dateVal = ($("#" + elem.attr("id") + "_TimeOption").val().split(" ")[0], $("#" + elem.attr("id")).val()); | |
"" == dateVal && $("#" + elem.attr("id") + "_TimeOption").val(""); | |
var meridiem = Utils.getMeridiem($("#" + elem.attr("id") + "_TimeOption").timeEntry("getTime")).toUpperCase() | |
} | |
var obj = ["cVarNAME", "cVarAPINAME", "fieldValue"]; | |
if (cVar.validateApiName(apiName)) { | |
var obj = ($("#cVarAPINAME_label").text(), $("#cVarAPINAME")), | |
elem = $("#cVarAPINAME"), | |
value = elem.val().trim(), | |
reg = /[^~`'!@$:,.{}/#%^&*()+=[\]|\;"<>\\]/g, | |
excldCharsArr = getClrTxtPtnResChars(value, reg); | |
if (0 == excldCharsArr.length) | |
Crm.showErrorMsg(I18n.getValueForFields("crm.variable.validationFail.alert.space"), obj); | |
else { | |
var paramArr = []; | |
paramArr.push($("#cVarAPINAME_label").text()), paramArr.push(excldCharsArr.join(" ")), Crm.showErrorMsg(I18n.getValueForFields("crm.variable.validationFail.alert.moreThanOneChar", paramArr), obj) | |
} | |
} else if (validation && Crm.validateFormFields(obj)) { | |
var vName = $("#cVarNAME").val().trim(), | |
fdObj = $("#fieldValue"), | |
timeVal = ""; | |
null != $("#fieldValue_TimeOption").val() && (timeVal = $("#fieldValue_TimeOption").val().split(" ")[0] + " " + meridiem); | |
var varId = $("#saveVar").attr("id_attr"), | |
action = "saveVariable", | |
desc = $("#cVarDesc").val().trim(), | |
uiType = $("#cVarSelectType").val(), | |
editUiType = $("#cVarSelectType").attr("data-editUiType"); | |
uiType = "" != varId ? editUiType : uiType; | |
var val = $("#fieldValue").val().trim(), | |
gId = $("#cVarGroupItems").val(), | |
groupListId = $("#saveVar").attr("groupId"), | |
groupName = $("#cVarGroupItems option:selected").text(), | |
groupDesc = $("#cVarGroupItems option:selected").attr("gdesc"), | |
groupParam = "", | |
groupApiName = $("#cVarGroupItems option:selected").attr("gapiname"); | |
30 == uiType && "" != val && (val = val + " " + timeVal), (301 == uiType || 300 == uiType) && (val = fdObj.is(":checked") ? "ON" : "OFF"), 1 == gId && (groupParam = "&groupName=" + groupName + "&groupDesc=" + groupDesc + "&gSysRefName=" + groupApiName), 3 == gId && (groupParam = "&groupName=" + groupName + "&groupDesc=" + groupDesc + "&gSysRefName=" + groupName); | |
var params = csrfParamName + "=" + encodeURIComponent(csrfToken); | |
params = params + "&varName=" + encodeURIComponent(vName) + "&varDesc=" + encodeURIComponent(desc) + "&varValue=" + encodeURIComponent(val) + "&groupId=" + gId + "&uiType=" + uiType + "&varId=" + varId + "&sysRefName=" + apiName + groupParam; | |
var reqPool = new crmRequestPool; | |
$("#ajax_load_tab").show(), reqPool.initiate({ | |
action: "/recruit/Variables.do?action=" + action + "&step1=save", | |
type: "POST", | |
data: params, | |
success: function(respHTML) { | |
if ("Limit Exceeded" == respHTML.LIMIT) | |
crmui.showMsgBand("error", I18n.getValueForFields("crm.variable.limit.exceed.msg"), 7e3); | |
else { | |
var responseJson = ZRCommonUtil.convertStringToJson(respHTML), | |
duplicate = responseJson.duplicate; | |
if ("error" == respHTML.ERROR) | |
crmui.showMsgBand("error", I18n.getValueForFields("crm.security.error.add.user"), 7e3); | |
else if ("exist" == duplicate) { | |
var dupValue = responseJson.dupValue; | |
dupValue = dupValue.split(":"); | |
var dubvName = dupValue[0], | |
apiName = dupValue[1], | |
obj = $("#cVarNAME"), | |
label = $("#cVarNAME_label").text(), | |
apiObj = $("#cVarAPINAME"), | |
apilabel = $("#cVarAPINAME_label").text(); | |
"APIName" == apiName && Crm.showErrorMsg(I18n.getValueForFields("crm.variables.dupicatevariable", apilabel), apiObj), "VName" == dubvName && Crm.showErrorMsg(I18n.getValueForFields("crm.variables.dupicatevariable", label), obj) | |
} else { | |
var responseJson = ZRCommonUtil.convertStringToJson(respHTML); | |
cVar.crmVariableSetting(respHTML); | |
var trOffScTop, | |
variableid = responseJson.variableId, | |
scrollObj = $("#setup_new_ContentDiv"); | |
trOffScTop = $("#row_" + variableid).offset().top + scrollObj.scrollTop() - 210, scrollObj.animate({ | |
scrollTop: trOffScTop | |
}), $("#row_" + variableid).addClass("trialyellowbox"), $("#row_" + variableid).find("td:first").css({ | |
"border-left": "1px solid red" | |
}), setTimeout(function() { | |
$("#row_" + variableid).addClass("tdout"), $("#row_" + variableid).find("td:first").css({ | |
"border-left": "" | |
}), variableid = void 0 | |
}, 5e3); | |
var msg = "" != varId ? I18n.getValueForFields("crm.variables.updatemsg", vName) : I18n.getValueForFields("crm.variables.suceessmsg", vName); | |
$(".cVarList option[value=" + groupListId + "]").attr("selected", "selected"), Utils.bindChosen(".cVarList"), cVar.getGroupList(void 0, groupListId), crmui.showMsgBand("success", msg, "3000") | |
} | |
} | |
$("#ajax_load_tab").hide() | |
} | |
}) | |
} else | |
$("#saveVar").prop("disabled", !1) | |
}, | |
show: function(el) { | |
var curEl = $(el); | |
tarretEl = curEl.find(".filterListCtn") | |
}, | |
hide: function(el, cName) { | |
var curEl = $(el); | |
tarretEl = curEl.find(".filterListCtn"), tarretEl.addClass(cName) | |
}, | |
showusers: function(el) { | |
$(el).closest("li").nextAll("li").removeClass("hide") | |
} | |
}; | |
$(function() { | |
cVar.jquerySection(), cVar.searchVariable() | |
}); | |
var msApps = { | |
userList: "", | |
approvalList: "", | |
contactFieldIdVsLabel: {}, | |
jsonObj: {}, | |
preMapping: { | |
Email1: "Email", | |
Email2: "Secondary Email", | |
Email3: "Email3", | |
"Business Street": "Mailing Street", | |
"Business City": "Mailing City", | |
"Business State": "Mailing State", | |
"Business ZIP": "Mailing Zip", | |
"Business Country": "Mailing Country", | |
"Home Street": "Other Street", | |
"Home City": "Other City", | |
"Home State": "Other State", | |
"Home ZIP": "Other Zip", | |
"Home Country": "Other Country", | |
"Instant message": "Skype ID", | |
"First Name": "First Name", | |
"Last Name": "Last Name", | |
"Middle Name": "Middle Name", | |
Title: "Title", | |
Suffix: "Suffix", | |
"Yomi First Name": "Yomi First Name", | |
"Yomi Last Name": "Yomi Last Name", | |
"Nick Name": "Nick Name", | |
"Significant Other": "Significant Other", | |
"Birth day": "Date of Birth", | |
"Business Phone": "Phone", | |
"Home Phone": "Home Phone", | |
Mobile: "Mobile", | |
"Job Title": "Job Title", | |
Department: "Department", | |
Company: "Account Name", | |
Office: "Office", | |
Manager: "Manager", | |
Assistant: "Assistant", | |
"Yomi Company": "Yomi Company" | |
}, | |
fieldTypes: ["Email", "Name", "Phone", "IM", "Notes", "String", "Date"], | |
msCallBackfn: function() { | |
var jsonobject = arguments[0]; | |
jsonObj = jsonobject, $("#overlayHeader").hide(), $("#settingInner").hide(), $("#setupshow").show(), $("#mainResult").show(), msApps.contacts_configuration = jsonobject.configuration, msApps.isSSOUser = jsonobject.isSSOUser; | |
var template = Handlebars.getTemplate("microsoft", "MScalendar"), | |
fillHtml = template(jsonobject); | |
$("#result").html(fillHtml), msApps.contactsUrl = jsonobject.contactsUrl, msApps.delete_in_crm = jsonobject.configuration.delete_in_crm, msApps.active = jsonobject.configuration.active | |
}, | |
warningAlert: function(alert) { | |
showAnimatePopup(alert) | |
}, | |
contactFieldMapper: function() { | |
msApps.getCRMContactFields().then(function(msContFieldVsNameMap) { | |
msContFieldVsNameMap.isSSOUser = msApps.isSSOUser, msApps.openFieldMapper(msApps.getContactSyncData(msContFieldVsNameMap)) | |
}) | |
}, | |
openFieldMapper: function(data, isEditCall) { | |
data.fieldTypes = msApps.fieldTypes; | |
for (var sectionArr = msApps.contacts_configuration.microsoft_sections, tp_fields = {}, sectionArrLen = sectionArr.length, i = 0; sectionArrLen > i; i++) { | |
var indArr = [], | |
sectionObj = sectionArr[i], | |
sectionName = sectionObj.name, | |
dataType = ""; | |
dataType = "Name" == sectionName || "Address" == sectionName || "Work" == sectionName || "Other" == sectionName ? "String" : sectionName; | |
for (var fieldArr = sectionObj.fields, fieldArrLen = fieldArr.length, j = 0; fieldArrLen > j; j++) { | |
var fieldObj = fieldArr[j], | |
indObj = {}; | |
indObj.fieldName = I18n.getMsg(msApps.preMapping[fieldObj.field_label]), indObj.fieldLabel = fieldObj.field_label, "Birth day" == fieldObj.field_label && (dataType = "Date"), indObj.dataType = dataType, indArr.push(indObj) | |
} | |
tp_fields[sectionName] = indArr | |
} | |
data.Contacts.tp_field = tp_fields, data.isSSOUser = msApps.isSSOUser; | |
var template = Handlebars.getTemplate("microsoft", "ContactFieldMapper"), | |
fillHtml = template(data); | |
$("#fieldMap_contact").html(fillHtml), msApps.mapField(data, isEditCall), msApps.applystyleForFieldMapper("fieldMap_contact"), isEditCall || $("#fieldmapoptions [id^=crmfield_]").selectBox(), Utils.showHideLoadingDiv(!1) | |
}, | |
cancelDiv: function(id) { | |
hideAnimatePopup(id), $("body").removeClass("oH") | |
}, | |
mapField: function(jobj, isEditCall) { | |
var msField = jobj.Contacts.tp_field; | |
if (!isEditCall) { | |
var legendElemShown = !1, | |
legendElem = $("#ms_legend_privacy"); | |
$.each(msField, function(index, item) { | |
$.each(item, function(i, jarr) { | |
var selectElem = $("#crmfield_" + jarr.fieldLabel.replace(new RegExp(" ", "g"), "_")); | |
if (selectElem.length) { | |
selectElem.val(jarr.fieldName); | |
var selectData = selectElem.find(":selected").data(), | |
isRestrictedField = selectData ? selectData.restrictedField : !1, | |
isPrivateField = selectData ? selectData.privateField : !1; | |
isRestrictedField ? (legendElemShown || (legendElemShown = !0, legendElem.show()), msApps.showHidePIField("restricted", selectElem)) : isPrivateField && msApps.showHidePIField("private", selectElem) | |
} | |
}) | |
}) | |
} | |
setTimeout(function() { | |
$(".fieldmapper").select2({ | |
placeholder: I18n.getMsg("None"), | |
allowClear: !1, | |
matcher: function(params, data) { | |
return msApps.findMatcher(params, data) | |
}, | |
templateResult: msApps.formatSelect2, | |
templateSelection: msApps.formatSelect2, | |
escapeMarkup: function(m) { | |
return m | |
} | |
}) | |
}, 1) | |
}, | |
findMatcher: function(param, item) { | |
var originalOption = item.element; | |
if (void 0 != param.term) { | |
var originalOptionEle = $(originalOption), | |
mail = originalOptionEle.data("fieldname"), | |
fn = originalOptionEle.data("fieldlabel"); | |
if (originalOptionEle.data("optgroup")) { | |
var original_matcher = $.fn.select2.defaults.defaults.matcher, | |
result = original_matcher(param, item), | |
itemChildren = item ? item.children : null, | |
resultChildren = result ? result.children : null; | |
return result && itemChildren && resultChildren && itemChildren.length != resultChildren.length && (result[children] = itemChildren), result | |
} | |
return void 0 == mail || void 0 == param.term || void 0 == fn || 0 != mail.toUpperCase().indexOf(param.term.toUpperCase()) && 0 != fn.toUpperCase().indexOf(param.term.toUpperCase()) ? null : item | |
} | |
return item | |
}, | |
applystyleForFieldMapper: function(elemId) { | |
var emeId = $("#" + elemId), | |
scrollEle = emeId.find(".popup-model-content"); | |
if (scrollEle[0]) { | |
var totalScroll = scrollEle.scrollTop() + scrollEle.outerHeight(), | |
scrollHeight = scrollEle[0].scrollHeight; | |
scrollHeight > totalScroll && emeId.find(".popup-model-footer").addClass("scroll-sh"), scrollEle.on("scroll", function() { | |
var emeId = $("#" + elemId), | |
scrollEle = emeId.find(".popup-model-content"); | |
scrollEle.scrollTop() + scrollEle.innerHeight() >= scrollEle[0].scrollHeight ? emeId.find(".popup-model-footer").removeClass("scroll-sh") : emeId.find(".popup-model-footer").addClass("scroll-sh") | |
}) | |
} | |
$("body").addClass("oH"), emeId.show().addClass("zcrm-show"), showFreezeLayer() | |
}, | |
getCRMContactFields: function() { | |
return new Promise(function(resolve) { | |
if (msApps.crmContactFields) | |
return void resolve(msApps.crmContactFields); | |
var url = "/recruit/v2/settings/fields?module=Contacts"; | |
Utils.showHideLoadingDiv(), (new crmRequestPool).initiate({ | |
type: "GET", | |
action: url, | |
headers: { | |
"X-ZCSRF-TOKEN": csrfParamName + "=" + csrfToken | |
}, | |
success: function(data) { | |
if (data.fields) { | |
var crmFields = data.fields, | |
msContFieldVsNameMap = {}; | |
for (var i in crmFields) { | |
var fieldObj = crmFields[i], | |
ui_type = fieldObj.ui_type, | |
indObj = {}, | |
fldLabl = fieldObj.field_label; | |
if (indObj.fieldLabel = fldLabl, indObj.fieldName = fldLabl, indObj.fieldId = fieldObj.id, msApps.contactFieldIdVsLabel[fieldObj.id] = fldLabl, 0 == fieldObj.read_only && 1 == fieldObj.visible) | |
switch (ui_type) { | |
case 1: | |
case 25: | |
case 2: | |
case 4: | |
"email" == fieldObj.data_type ? msApps.populateCrmFieldMap(indObj, "Email", msContFieldVsNameMap) : msApps.populateCrmFieldMap(indObj, "String", msContFieldVsNameMap); | |
break; | |
case 24: | |
msApps.populateCrmFieldMap(indObj, "Date", msContFieldVsNameMap); | |
break; | |
case 37: | |
msApps.populateCrmFieldMap(indObj, "IM", msContFieldVsNameMap); | |
break; | |
case 3: | |
msApps.populateCrmFieldMap(indObj, "Notes", msContFieldVsNameMap); | |
break; | |
case 33: | |
msApps.populateCrmFieldMap(indObj, "Phone", msContFieldVsNameMap); | |
break; | |
case 27: | |
case 127: | |
msApps.populateCrmFieldMap(indObj, "String", msContFieldVsNameMap) | |
} | |
} | |
msApps.crmContactFields = msContFieldVsNameMap, msApps.contactsUrl, resolve(msContFieldVsNameMap) | |
} | |
}, | |
error: function() { | |
Utils.showHideLoadingDiv(!1) | |
} | |
}) | |
}) | |
}, | |
populateCrmFieldMap: function(indObj, dataType, populateMap) { | |
indObj.dataType = dataType, populateMap[dataType] ? populateMap[dataType].push(indObj) : populateMap[dataType] = [indObj] | |
}, | |
getContactSyncData: function(msContFieldVsNameMap) { | |
var syncConfig = msApps.contacts_configuration, | |
paramData = {}, | |
fieldMapData = {}; | |
return fieldMapData.crm_field = msContFieldVsNameMap, fieldMapData.tp_field = msApps.tp_fields, fieldMapData.is_consent_enabled = !1, fieldMapData.restricted_field = {}, paramData.Contacts = fieldMapData, void 0 != syncConfig && (fieldMapData.delete_in_crm = syncConfig.delete_in_crm ? !0 : !1, paramData.active = syncConfig.active), paramData.isSSOUser = msContFieldVsNameMap.isSSOUser, paramData | |
}, | |
deactivate: function(product) { | |
var params = csrfParamName + "=" + encodeURIComponent(csrfToken), | |
url = "/recruit/MSApps.do?mode=" + product + "&action=delete"; | |
Utils.showHideLoadingDiv(!0), $.ajax({ | |
type: "POST", | |
url: url, | |
data: params, | |
success: function(data) { | |
var jsonobject = data; | |
jsonObj = jsonobject, msApps.contacts_configuration.active = "false", $("#result").html(Handlebars.templates.MScalendar(jsonobject)), Utils.showHideLoadingDiv(!1), hideAnimatePopup("msAlertDiv") | |
} | |
}) | |
}, | |
popupRequestUserDetails: function() { | |
var params = "", | |
exceptZuid = $("#reqZUID") && "" != $("#reqZUID").val() && "null" != $("#reqZUID").val() ? "&reqZUID=" + $("#reqZUID").val() : "", | |
url = "/recruit/MSApps.do?mode=USERS&action=getReqUser" + exceptZuid; | |
Utils.showHideLoadingDiv(!0), $.ajax({ | |
type: "POST", | |
url: url, | |
data: params, | |
success: function(data) { | |
Utils.showHideLoadingDiv(!1); | |
var jsonobject = $.parseJSON(data); | |
msApps.approvalList = jsonobject, msApps.openApproveUserPopup() | |
} | |
}) | |
}, | |
openApproveUserPopup: function() { | |
var url = "/recruit/Security.do?actionName=newUser&mode=create&showAddUser=", | |
params = ""; | |
return $.ajax({ | |
type: "POST", | |
url: url, | |
data: params, | |
success: function(res) { | |
$("#topBandPopup").html(res), showAnimatePopup("topBandPopup"), $("#fromTP").show(); | |
var optionVal = "<option></option>"; | |
$("#tpUsers").append(optionVal), $(msApps.approvalList).each(function(index, element) { | |
var key = element.id, | |
optionVal = (element.displayName, "<option data-fullname='" + element.displayName + "' data-fn='" + element.givenName + "' data-ln='" + element.surname + "' data-tpemail='" + element.tpEmail + "' data-email='" + element.mail + "' value='" + key + "' selected>" + element.displayName + "</option>"); | |
$("#tpUsers").append(optionVal) | |
}), $("#tpUsers").select2({ | |
placeholder: I18n.getMsg("crm.lar.rr.chooseUser"), | |
allowClear: !1, | |
templateResult: tpuserName, | |
templateSelection: tpuserName, | |
escapeMarkup: function(m) { | |
return m | |
} | |
}), $("#fromTP").hide(), $("#fN").hide(), $("#lN").hide(), $("#fullName").show(), $("#approveBTN").show(), $("#addUserBTN").hide(), $("#eM").hide(), $("#tpEmail").show(), $("#Name").attr("disabled", "disabled"), $("#j_username").attr("disabled", "disabled"), $("#tp_username") && $("#tp_username").attr("disabled", "disabled") | |
} | |
}), !1 | |
}, | |
openAdduserDiv: function() { | |
if ("" == msApps.userList) { | |
var params = "", | |
exceptZuid = $("#reqZUID") && "" != $("#reqZUID").val() && "null" != $("#reqZUID").val() ? "&reqZUID=" + $("#reqZUID").val() : "", | |
url = "/recruit/MSApps.do?mode=USERS&action=getUser" + exceptZuid; | |
Utils.showHideLoadingDiv(!0), $.ajax({ | |
type: "GET", | |
url: url, | |
data: params, | |
success: function(data) { | |
Utils.showHideLoadingDiv(!1); | |
var jsonobject = $.parseJSON(data); | |
if (void 0 == jsonobject.value && "Unauthorized" == jsonobject.recruitMessage) { | |
var title = I18n.getMsg("zr.sso.authentication.error.title"), | |
content = I18n.getMsg("zr.sso.authentication.error.content"), | |
savebtn = I18n.getMsg("zr.sso.authentication.error.reauthenticate"); | |
ZRCommonUtil.openConfirmationAlert({ | |
isNew: !0, | |
messageType: "info", | |
savebtn: savebtn, | |
content: content, | |
title: title | |
}, function() { | |
window.location.href = jsonobject.redirectionURL | |
}) | |
} else if ("SUCCESS" == jsonobject.recruitMessage) | |
msApps.userList = jsonobject.value, msApps.approvalList = jsonobject.approval, showCustomizePopup("addMSUser", "", msApps.userList); | |
else { | |
var params = { | |
removefreeze: !1, | |
type: "failure", | |
scroll: !1, | |
baseid: "error-alert-message", | |
msg: I18n.getMsg("game.common.error"), | |
display: "inline", | |
displayId: "uniquieId" | |
}; | |
ZRComponent.openAlertMessage(params) | |
} | |
} | |
}) | |
} else | |
showCustomizePopup("addMSUser", "", msApps.userList) | |
}, | |
updateUsers: function(id) { | |
$(msApps.userList).each(function(index, element) { | |
if (id === element.id) { | |
var firstName = null != element.surname && void 0 != element.surname ? element.displayName.replace(element.surname, "") : element.displayName; | |
$("#firstName").val(firstName), $("#lastName_focus").val(element.surname), $("#j_username").val(element.mail) | |
} | |
}) | |
}, | |
approveUser: function(valFunctionInfo, formObj) { | |
var functionName = "", | |
isValidated = !0; | |
if (valFunctionInfo && valFunctionInfo.length) { | |
functionName = valFunctionInfo[0]; | |
var fArgs = valFunctionInfo.slice(1); | |
isValidated = window[functionName].apply(window, fArgs) | |
} | |
if (isValidated) { | |
$("#j_approve").attr("disabled", "disabled").val(I18n.getMsg("crm.signup.wait") + "..."), hideAnimatePopup("topBandPopup"), Utils.showHideLoadingDiv(!0); | |
var LINK = msApps.approvalList.LINK, | |
postData = formData2QueryString(formObj), | |
isAsynchronous = !1; | |
$.ajax({ | |
type: "POST", | |
url: LINK, | |
data: postData, | |
async: void 0 != isAsynchronous ? isAsynchronous : !0, | |
success: function() { | |
window.location.href = "/recruit/ShowSetup.do?tab=usersPermi&subTab=users&show=approved&approvedZUID=" + $("#reqZUID").val() | |
}, | |
error: function(http) { | |
http.status === crmConstants.limitExceedsCode && Search.displayLookupExceedsMsg(http), Utils.showHideLoadingDiv() | |
} | |
}) | |
} | |
}, | |
validateApproveUser: function() { | |
$("#j_approve").attr("disabled", "disabled"); | |
var orgObj = getObj("orgName"); | |
return orgObj && "" == orgObj.value ? ($(getObj("userErrorMsgDisp")).empty(), getObj("userErrorMsgDisp").innerHTML = document.getElementById("compnamealert").value, getObj("userErrorMsgDisp").style.display = "block", $("#j_approve").removeAttr("disabled"), !1) : (getElemById("terIds") && setTerritoryValue(), msApps.approveUser(["newUserForm"], document.addUserForm, "", "", "", !1), void $("#j_approve").removeAttr("disabled")) | |
}, | |
removeAddeduserFromUserList: function(userEmail) { | |
$(msApps.userList).each(function(index, element) { | |
userEmail === element.mail && msApps.userList.splice(index, 1) | |
}) | |
}, | |
enableContactSync: function(product, isSSOUser, fieldUpdate) { | |
var isvalidmapping = msApps.validateFieldMapper(); | |
if (isvalidmapping) { | |
var tobedelete = $("#tobeDeleted").prop("checked") ? !0 : !1, | |
fieldMapper = []; | |
$(".msContactFldSelect1").map(function() { | |
var currElem = $(this), | |
id = currElem.attr("id"), | |
idcounter = msApps.splitbyFirstOccurence(id), | |
crmdataVal = $("#" + id).find(":selected").data("fieldid"); | |
crmdataVal = void 0 != crmdataVal ? crmdataVal : ""; | |
var msdataVal = $("#msField_" + idcounter).find(":selected").data("fieldlabel"), | |
field = { | |
microsoft_field: msdataVal, | |
crm_field: crmdataVal | |
}; | |
fieldMapper.push(field) | |
}).get(); | |
var params = {}, | |
Contacts = [], | |
contactObj = {}, | |
configuration = {}; | |
configuration.mapped_fields = fieldMapper, configuration.delete_in_crm = tobedelete, contactObj.configuration = configuration, Contacts.push(contactObj), params.Contacts = Contacts, msApps.contacts_configuration && (msApps.contacts_configuration.mapped_fields = fieldMapper, msApps.contacts_configuration.delete_in_crm = tobedelete), void 0 != fieldUpdate && "true" == fieldUpdate ? (params.fieldsUpdate = "true", msApps.connectService(product, JSON.stringify(params), "msApps.saveContactsCallbackfn", "POST", "Contacts")) : isSSOUser ? msApps.enableContactSyncFromMS() : openPopUp("Microsoft", this, msApps.contactsUrl, "Microsoft", 600, 500, "menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes") | |
} | |
}, | |
enableContactSyncFromMS: function() { | |
var params = {}, | |
Contacts = [], | |
contactObj = {}, | |
configuration = {}; | |
configuration.mapped_fields = msApps.contacts_configuration.mapped_fields, configuration.delete_in_crm = msApps.contacts_configuration.delete_in_crm, contactObj.configuration = configuration, Contacts.push(contactObj), params.Contacts = Contacts, msApps.connectService("Contacts", JSON.stringify(params), "msApps.saveContactsCallbackfn", "POST", "Contacts") | |
}, | |
editContactSync: function() { | |
var configuration = msApps.contacts_configuration; | |
configuration.active = "true", msApps.getCRMContactFields().then(function(msContFieldVsNameMap) { | |
msApps.openFieldMapper(msApps.getContactSyncData(msContFieldVsNameMap), !0); | |
var savedField = configuration.mapped_fields, | |
legendElem = $("#ms_legend_privacy"); | |
$.each(savedField, function(i, item) { | |
var msFiledLabel = item.microsoft_field, | |
crmFiledName = item.crm_field; | |
msApps.contactFieldIdVsLabel && msApps.contactFieldIdVsLabel[crmFiledName] && (crmFiledName = msApps.contactFieldIdVsLabel[crmFiledName]); | |
var selectElem = $("#crmfield_" + msFiledLabel.replace(new RegExp(" ", "g"), "_")); | |
selectElem.val(crmFiledName).change(); | |
var selectData = selectElem.find(":selected").data(), | |
isPrivateField = selectData ? selectData.isRestrictedField : !1, | |
isRestrictedField = selectData ? selectData.restrictedField : !1; | |
if (isPrivateField) { | |
var imgElem = selectElem.closest("td").find('[name="gdpr_privateField"]'); | |
isRestrictedField && (imgElem.addClass("MSRestrictedRow").removeClass("MSprivateFieldRow"), legendElem.show()), imgElem.show() | |
} | |
}), $("#fieldmapoptions [id^=crmfield_]").selectBox() | |
}) | |
}, | |
validateFieldMapper: function() { | |
var isValid = !0, | |
frstNameElem = $("#crmfield_First_Name"), | |
msFirstNameMappedField = frstNameElem.val(); | |
if ("None" == msFirstNameMappedField) | |
return frstNameElem.focus(), Utils.showCustomAlert(I18n.getMsg("crm.office365.mandatory.alert", "First Name")), !1; | |
var dataTypeValidation = msApps.validateDataType(); | |
if (!dataTypeValidation) | |
return !1; | |
var values = $(".msContactFldSelect1").map(function() { | |
var objElem = $(this), | |
selectElem = objElem, | |
selectVal = selectElem.val(); | |
return "None" == selectVal ? "" : selectVal | |
}).get(); | |
return $(values).each(function(index, value) { | |
var existAlready = parseInt($.inArray(value, values)); | |
existAlready != index && "" !== value && (isValid = !1, Utils.showCustomAlert(I18n.getMsg("crm.gapps.contactsync.showform.alert.samemappingvalue", [value, Crm.brandName + " Recruit"]))) | |
}), isValid | |
}, | |
validateDataType: function() { | |
var isValid = !0; | |
return $(".msContactFldSelect1").map(function() { | |
var objELem = $(this), | |
id = objELem.attr("id"), | |
idcounter = msApps.splitbyFirstOccurence(id), | |
selectedIdElem = $("#" + id).find(":selected"), | |
selectedfldElem = $("#msField_" + idcounter).find(":selected"), | |
crmdataType = selectedIdElem.data("datatype"), | |
msdataType = selectedfldElem.data("datatype"); | |
if (void 0 != crmdataType && "" != crmdataType && crmdataType != msdataType) { | |
var crmdataVal = selectedIdElem.data("fieldlabel"), | |
msdataVal = selectedfldElem.data("fieldlabel"); | |
$("#crmfield_" + idcounter).focus(), Utils.showCustomAlert(crmdataVal + " and " + msdataVal + " data type is mismatched"), isValid = !1 | |
} | |
}).get(), isValid | |
}, | |
splitbyFirstOccurence: function(str) { | |
var retStr = null; | |
return void 0 !== str && (retStr = str.split(/_(.+)/)[1]), retStr | |
}, | |
changeCrmField: function(obj) { | |
var selectElem = $(obj), | |
selectdata = selectElem.find(":selected").data(), | |
isPrivateField = selectdata ? selectdata.privateField : !1, | |
isRestrictedField = selectdata ? selectdata.restrictedField : !1, | |
imgElem = selectElem.closest("td").find('[name="gdpr_privateField"]'); | |
isPrivateField ? (isRestrictedField && (imgElem.addClass("MSRestrictedRow").removeClass("MSprivateFieldRow"), $("#ms_legend_privacy").show()), imgElem.show()) : (imgElem.addClass("MSprivateFieldRow").removeClass("MSRestrictedRow"), imgElem.hide()) | |
}, | |
manageConfig: function(show) { | |
jsonObj.MSAuth = show; | |
var template = Handlebars.getTemplate("microsoft", "MScalendar"), | |
fillHtml = template(jsonObj); | |
$("#result").html(fillHtml) | |
}, | |
connectService: function(module, params, callBackfn, httpMethod, targetId) { | |
var httMthd = void 0 === httpMethod ? "POST" : httpMethod, | |
url = "", | |
paramsJSON = JSON.parse(params); | |
url = "/recruit/MSApps.do?mode=" + module.toUpperCase() + "&action=createContact", void 0 != paramsJSON.fieldsUpdate && "true" == paramsJSON.fieldsUpdate && (url = "/recruit/MSApps.do?mode=" + module.toUpperCase() + "&action=fieldsUpdate"); | |
var headers = { | |
"X-ZCSRF-TOKEN": csrfParamName + "=" + csrfToken, | |
new_ms_api: "true" | |
}; | |
Utils.showHideLoadingDiv(!0); | |
var reqPool = new crmRequestPool; | |
reqPool.initiate({ | |
type: httMthd, | |
action: url, | |
data: params, | |
contentType: "application/json", | |
dataType: "json", | |
headers: headers, | |
success: function(data) { | |
if (Utils.showHideLoadingDiv(!1), void 0 !== targetId) | |
if ("Calendars" === targetId) | |
data && data.Calendars && data.Calendars[0] && (data = data.Calendars[0], data.code && "SUCCESS" == data.code && (data = data.details, data.active = !1), msApps.calSyncId = data.id), $("#" + targetId).html(Handlebars.templates.MScalendar(data)); | |
else if ("Contacts" === targetId) { | |
if (data && data.Contacts && data.Contacts[0]) { | |
if (data = data.Contacts[0], data.configuration && data.configuration.microsoft_sections) { | |
msApps.contacts_configuration = data.configuration, msApps.contacts_configuration.active = data.active; | |
for (var sectionArr = data.configuration.microsoft_sections, tp_fields = {}, sectionArrLen = sectionArr.length, i = 0; sectionArrLen > i; i++) { | |
var indArr = [], | |
sectionObj = sectionArr[i], | |
sectionName = sectionObj.name, | |
dataType = ""; | |
dataType = "Name" == sectionName || "Address" == sectionName || "Work" == sectionName || "Other" == sectionName ? "String" : sectionName; | |
for (var fieldArr = sectionObj.fields, fieldArrLen = fieldArr.length, j = 0; fieldArrLen > j; j++) { | |
var fieldObj = fieldArr[j], | |
indObj = {}; | |
indObj.fieldName = I18n.getMsg(msApps.preMapping[fieldObj.field_label]), indObj.fieldLabel = fieldObj.field_label, "Birth day" == fieldObj.field_label && (dataType = "Date"), indObj.dataType = dataType, indArr.push(indObj) | |
} | |
tp_fields[sectionName] = indArr | |
} | |
msApps.tp_fields = tp_fields | |
} | |
data.code && "SUCCESS" == data.code && (data = data.details, data.active = !1), msApps.contSyncId = data.id | |
} | |
var template = Handlebars.getTemplate("microsoft", "MScalendar"), | |
fillHtml = template(data); | |
hideFreezeLayer(), $("#result").html(fillHtml) | |
} else | |
"Tasks" === targetId && (data = data.Tasks, void 0 != data.details && "" != data.details && (data = data.details), $("#" + targetId).html(Handlebars.templates.MStask(data))) | |
}, | |
error: function() { | |
Utils.showHideLoadingDiv(!1), hideAnimatePopup("fieldMap_contact") | |
} | |
}) | |
}, | |
accessSignin: function(isSSOUser) { | |
isSSOUser ? callGAppsURL("/recruit/MSApps.do?mode=CALENDARS&action=create") : openPopUp("Microsoft", this, jsonObj.calendarsUrl, "Microsoft", 600, 500, "menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes") | |
} | |
}, | |
CFSchedulerJSObject = new function() {}; | |
CFSchedulerJSObject.TableLastSortedColumn = -1, CFSchedulerJSObject.monthNames = [I18n.getMsg("January"), I18n.getMsg("February"), I18n.getMsg("March"), I18n.getMsg("April"), I18n.getMsg("May"), I18n.getMsg("June"), I18n.getMsg("July"), I18n.getMsg("August"), I18n.getMsg("September"), I18n.getMsg("October"), I18n.getMsg("November"), I18n.getMsg("December")], CFSchedulerJSObject.cfsGlobalTimeout = null, CFSchedulerJSObject.schFilter = function(e) { | |
null != CFSchedulerJSObject.cfsGlobalTimeout && clearTimeout(CFSchedulerJSObject.cfsGlobalTimeout), CFSchedulerJSObject.cfsGlobalTimeout = setTimeout(function() { | |
if (CFSchedulerJSObject.cfsGlobalTimeout = null, $("#PublicEmailTemplates").hide(), $("#schedules_CF_tab").show(), 27 == e.keyCode) | |
$("#kwd_search").val("").trigger("keyup"); | |
else { | |
var Ji = $("#kwd_search"), | |
Jrows = $("#table-1 tbody > tr"), | |
term = $.trim(Ji.val().toLowerCase()); | |
if (0 === term.length) | |
return void Jrows.show(); | |
Jrows.hide().filter(function() { | |
return this.cells[1].textContent.toLowerCase().indexOf(term.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1")) > -1 | |
}).show(), 0 == $(".contentRows:visible").length && ($("#PublicEmailTemplates").fadeIn(150), $("#schedules_CF_tab").hide()) | |
} | |
}, 50) | |
}, CFSchedulerJSObject.failcustom = function(obj) { | |
"custom" == $(obj).val() ? $("#failcustomDiv").show().find("input:text").val("") : ($("#failcustomDiv").hide(), $("#ErrMsg").show()) | |
}, CFSchedulerJSObject.updateCheckBox = function() { | |
$("#myswitchBar").attr("checked", !$("#myswitchBar").attr("checked")) | |
}, CFSchedulerJSObject.showNewCalen = function(inputName, dateval, isFldUpd, uiType, fromCriteria) { | |
if ("createDate" == uiType) { | |
var d = new Date, | |
dateForCalStart = d.getMonth() + 1 + "," + d.getDate() + "," + d.getFullYear(); | |
d.setDate(d.getDate() + 90); | |
var dateForCalEnd = d.getMonth() + 1 + "," + d.getDate() + "," + d.getFullYear() | |
} else if ("startDate" == uiType) { | |
var d = new Date; | |
d.setDate(d.getDate() - 90); | |
var dateForCalStart = d.getMonth() + 1 + "," + d.getDate() + "," + d.getFullYear(); | |
d = new Date; | |
var dateForCalEnd = d.getMonth() + 1 + "," + d.getDate() + "," + d.getFullYear() | |
} else if ("endDate" == uiType) { | |
var cusDateFrom = $("#cusDateFrom").val(), | |
schDateObj = crmCalendar.getDateObjectFromGivenDateString(cusDateFrom), | |
myDate = Utils.convertUsrtoDefaultDatePattern(schDateObj); | |
if (cusDateFrom = $.datepicker.formatDate("mm/dd/yy", myDate), cusDateFrom.length < 1) | |
return $("#cusDateFrom").focus(), void crmui.showMsgBand("error", I18n.getMsg("crm.cfs.alert.history.date"), 4e3, ""); | |
var d = new Date(Date.parse(cusDateFrom)), | |
dateForCalStart = d.getMonth() + 1 + "," + d.getDate() + "," + d.getFullYear(); | |
d = new Date; | |
var dateForCalEnd = d.getMonth() + 1 + "," + d.getDate() + "," + d.getFullYear() | |
} | |
if (crmCalendar.showCalendar(fromCriteria, void 0, void 0, isFldUpd, void 0, void 0, dateForCalStart, dateForCalEnd), "createDate" == uiType && "" != $("#schDate").val()) { | |
var dtObj1 = new Date(crmCalendar.getDateObjectFromGivenDateString($("#schDate").val())); | |
if (null != dtObj1.getMonth() && void 0 != dtObj1.getMonth() && "" != dtObj1.getMonth()) | |
var month1 = crmCalendar.monthName[dtObj1.getMonth()].html; | |
$("#year_month_specify").text(I18n.getMsg("crm.recurring.custom.yearly.repeat.on", I18n.getMsg([month1]))) | |
} | |
return !1 | |
}, CFSchedulerJSObject.trigSch = function(schID) { | |
var elem = $("#last_" + schID), | |
tempVal = elem.text(); | |
elem.text(I18n.getMsg("crm.cfs.Triggered")); | |
var requestPool = new crmRequestPool, | |
url = "/recruit/CFSchedulers.do", | |
params = "action=triggerSch&schID=" + schID + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
requestPool.doAjax(url, function(response) { | |
if (null !== response && "" !== response) { | |
var jsonRes = $.parseJSON(response); | |
"0" != jsonRes.status ? (elem.text(jsonRes.execTime), "s" === jsonRes.status ? crmui.showMsgBand("success", I18n.getMsg("crm.cfs.alert.job.sucess"), 4e3, "") : "f" === jsonRes.status && crmui.showMsgBand("error", I18n.getMsg("crm.cfs.alert.job.fail"), 4e3, ""), elem.attr("onmouseover", "crmui.toolTip_show(this, 'left', '" + jsonRes.execTimeFF + "');"), elem.attr("onmouseout", "crmui.toolTip_hide();")) : (elem.text(tempVal), "blocked" == jsonRes.trigVal ? crmui.showMsgBand("error", I18n.getMsg("crm.cfs.alert.nomanual"), 4e3, "") : crmui.showMsgBand("error", I18n.getMsg("crm.cfs.msg.inacsch"), 4e3, "")) | |
} | |
}, params) | |
}, CFSchedulerJSObject.viewHist = function() { | |
Utils.showHideLoadingDiv(!0); | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=viewHist", | |
histParam = { | |
action: "viewHist" | |
}; | |
(new crmRequestPool).initiate({ | |
action: url, | |
type: "GET", | |
data: histParam, | |
success: function(response) { | |
$("#result").html(response), Utils.showHideLoadingDiv(), $("#op2").addClass("sel"), $("#op1").removeClass("sel"), $("#schedules_CF_tab,#kwd_search_div,#btnNewScheduler").hide(), $("#schedules_fail_tab,#ErrMsg").show(), $("#table-2-head,#failTabNoRecord").removeClass("hide"), $("#schedules_fail_tab").find("select").find("option:first").attr("selected", "selected"), Utils.bindChosen("select"); | |
var histURL = url + "&" + params, | |
histURL = "/recruit/ShowSetup.do?tab=automate&subTab=cfSchedulers&action=ViewSch", | |
histParam = { | |
tab: "automate", | |
subTab: "cfSchedulers", | |
calleeObj: "crmSetup", | |
action: "ViewSch" | |
}; | |
Crm.addToHistory(void 0, void 0, histParam, histURL) | |
} | |
}) | |
}, CFSchedulerJSObject.viewMain = function() { | |
Utils.showHideLoadingDiv(!0); | |
var url = "/recruit/CFSchedulers.do", | |
histParam = { | |
action: "ViewSch" | |
}; | |
(new crmRequestPool).initiate({ | |
action: url, | |
type: "GET", | |
data: histParam, | |
success: function(response) { | |
$("#result").html(response), $("#op2").removeClass("sel"), $("#op1").addClass("sel"), $("#schedules_CF_tab,#kwd_search_div,#btnNewScheduler").show(), $("#schedules_fail_tab,#ErrMsg,#failTabNoRecord").hide(), Utils.showHideLoadingDiv(); | |
var histURL = "/recruit/ShowSetup.do?tab=automate&subTab=cfSchedulers&action=ViewSch", | |
histParam = { | |
tab: "automate", | |
subTab: "cfSchedulers", | |
calleeObj: "crmSetup", | |
action: "ViewSch" | |
}; | |
Crm.addToHistory(void 0, void 0, histParam, histURL) | |
} | |
}) | |
}, CFSchedulerJSObject.editCfsStatus = function(obj) { | |
crmui.toolTip_hide(); | |
var popDiv = $("#deactiveSchPopup"), | |
tdElem = $("#" + obj.closest("td").getAttribute("id")); | |
if (tdElem.find('input[type="checkbox"]').is(":checked")) { | |
if ($("#deactivePopup").removeClass("popInListView popInDetailView"), Crm.userDetails.RTL_ENABLED) { | |
var rtlPos = crmui.getOffset(obj); | |
rtlPos.left = rtlPos.left - $(obj).outerWidth() / 2 - 40, freezeBackground(), $("#FreezeLayer").css({ | |
opacity: "0.35" | |
}).show(), popDiv.css({ | |
position: "absolute", | |
left: rtlPos.left, | |
top: rtlPos.top + 33 | |
}).addClass("scalePopOne").show() | |
} else { | |
var off = crmui.getOffset(obj); | |
$(window).height() - off.top < popDiv.innerHeight() + 15 ? (popDiv.addClass("shownTop"), off.left = $(window).width() - off.left - $(obj).outerWidth() / 2 - popDiv.outerWidth() / 4, freezeBackground(), $("#FreezeLayer").css({ | |
opacity: "0.35" | |
}).show(), popDiv.css({ | |
position: "absolute", | |
right: off.left + 20, | |
top: off.top - (popDiv.innerHeight() + 15), | |
left: "" | |
}).addClass("scalePopOne popInListView").show()) : (popDiv.removeClass("shownTop"), off.left = $(window).width() - off.left - $(obj).outerWidth() / 2 - popDiv.outerWidth() / 4, freezeBackground(), $("#FreezeLayer").css({ | |
opacity: "0.35" | |
}).show(), popDiv.css({ | |
position: "absolute", | |
right: off.left + 20, | |
top: off.top + 33, | |
left: "" | |
}).addClass("scalePopOne popInListView").show()) | |
} | |
$("#cfsDeactivateBtn").unbind("click").click(function() { | |
popDiv.hide().removeClass("scalePopOne"), removeFreezeLayer(), tdElem.removeClass("active").addClass("inactive").find("input:checkbox").removeAttr("checked"), CFSchedulerJSObject.updateStatus(tdElem, tdElem.attr("id").split("_")[1], 1) | |
}), $("#cfsDeactivateCancelBtn").unbind("click").click(function() { | |
popDiv.hide().removeClass("scalePopOne"), removeFreezeLayer() | |
}) | |
} else | |
CFSchedulerJSObject.updateStatus(tdElem, tdElem.attr("id").split("_")[1], 0), tdElem.removeClass("inactive").addClass("active").find("input:checkbox").attr("checked", !0) | |
}, CFSchedulerJSObject.updateStatus = function(obj, schID) { | |
for (var elem = $("#next_" + schID), url = "/recruit/CFSchedulers.do", params = "action=swapStatus&schID=" + schID + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken), requestPool = new crmRequestPool, nameMap = $("#schNameMap").val().replace("}", "").split(","), schName = "", i = 1; i < nameMap.length; i++) | |
if (nameMap[i].split("=")[0].trim() == schID.trim()) { | |
schName = nameMap[i].split("=")[1]; | |
break | |
} | |
requestPool.doAjax(url, function(response) { | |
var jsonRes = $.parseJSON(response), | |
newA = document.createElement("a"); | |
newA.setAttribute("href", "javascript:;"), newA.text = I18n.getMsg("crm.cfs.runnow.label"), "0" == jsonRes.stat.trim() ? (newA.setAttribute("class", "link disabled"), newA.setAttribute("onmouseover", "crmui.toolTip_show(this,'left'," + I18n.getMsg("crm.cfs.msg.inacsch") + ");"), newA.setAttribute("onmouseout", "crmui.toolTip_hide();"), obj.find(".onOffSwt").removeAttr("onmouseover"), obj.find(".onOffSwt").unbind("mouseover").mouseover(function() { | |
crmui.toolTip_show(this, "center", I18n.getMsg("crm.cfs.actnow")) | |
}), elem.text("-"), elem.attr("onmouseover", "crmui.toolTip_show(this, 'left', '" + I18n.getMsg("crm.cfs.deactivatedsch") + "');"), elem.attr("onmouseout", "crmui.toolTip_hide();"), crmui.showMsgBand("info", I18n.getMsg("crm.cfs.statusdeact", '"' + $ESAPI.encoder().encodeForHTML(schName) + '"') + " ", 4e3, "")) : (newA.setAttribute("onclick", "CFSchedulerJSObject.trigSch('" + schID + "');"), newA.setAttribute("class", "link"), obj.find(".onOffSwt").removeAttr("onmouseover"), obj.find(".onOffSwt").unbind("mouseover").mouseover(function() { | |
crmui.toolTip_show(this, "center", I18n.getMsg("crm.cfs.deactnow")) | |
}), elem.text(jsonRes.execTime), elem.attr("onmouseover", "crmui.toolTip_show(this, 'left', '" + jsonRes.execTimeFF + "');"), elem.attr("onmouseout", "crmui.toolTip_hide();"), crmui.showMsgBand("info", I18n.getMsg("crm.cfs.statusact", '"' + $ESAPI.encoder().encodeForHTML(schName) + '"') + " ", 4e3, "")), $("#xx_" + schID).empty().append(newA) | |
}, params) | |
}, CFSchedulerJSObject.renderHistSchName = function() { | |
var objValue = $("#SchNameList :selected").val(); | |
"All Schedules" != objValue ? $(".schNameHead").addClass("hide") : $(".schNameHead").removeClass("hide") | |
}, CFSchedulerJSObject.leavePage = function() { | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=ViewSch"; | |
if (formAltered) { | |
var confirmBoxId = "stayonPageConfirmBox", | |
confirmBox = $("#" + confirmBoxId); | |
freezeBackground(), mailsetCenter(confirmBoxId), confirmBox.focus(), confirmBox.find(".leavePage").unbind("click").click(function() { | |
confirmBox.hide(), Utils.showHideLoadingDiv(!0), (new crmRequestPool).initiate({ | |
action: url, | |
type: "GET", | |
data: params, | |
success: function(response) { | |
$("#result").html(response), Utils.showHideLoadingDiv() | |
} | |
}), removeFreezeLayer() | |
}), confirmBox.find(".stayPage").unbind("click").click(function() { | |
confirmBox.hide(), removeFreezeLayer() | |
}) | |
} else | |
Utils.showHideLoadingDiv(!0), (new crmRequestPool).initiate({ | |
action: url, | |
type: "GET", | |
data: params, | |
success: function(response) { | |
$("#result").html(response), Utils.showHideLoadingDiv() | |
} | |
}) | |
}, CFSchedulerJSObject.editCFScheduler = function(schID) { | |
Utils.showHideLoadingDiv(!0); | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=editSch&schID=" + schID; | |
if (paramsHist = {}, paramsHist.action = "editSch", -1 !== Crm.calPreferences.HOLIDAY1 && -1 !== Crm.calPreferences.HOLIDAY2) | |
var val = I18n.getMsg("crm.label.except.holiday2", [I18n.getMsg(crmCalendar.daysFullString[Crm.calPreferences.HOLIDAY1]), I18n.getMsg(crmCalendar.daysFullString[Crm.calPreferences.HOLIDAY2])]); | |
else | |
var val = I18n.getMsg("crm.label.except.holiday1", [I18n.getMsg(crmCalendar.daysFullString[Crm.calPreferences.HOLIDAY1])]); | |
var nameMap = $("#schNameMap").val(); | |
(new crmRequestPool).initiate({ | |
action: url, | |
type: "GET", | |
data: params, | |
success: function(response) { | |
if ($("#result").html(response), "crm.cfs.notcrm.schedule" != response) { | |
Utils.showHideLoadingDiv(); | |
var histURL = "/recruit/ShowSetup.do?tab=automate&subTab=cfSchedulers&action=ViewSch", | |
histParam = { | |
tab: "automate", | |
subTab: "cfSchedulers", | |
calleeObj: "crmSetup", | |
action: "ViewSch" | |
}; | |
Crm.addToHistory(void 0, void 0, histParam, histURL), $("#lbl_holiday").text(val), $("#schNameMap").val(nameMap); | |
var isCustomRecur = $("#isCustomRecur").val(), | |
freqtype = $("#custFrequency").val(); | |
"5" == isCustomRecur && ($("#schFreq").val(freqtype), $("input:checkbox[id=Crm_CFS_RECURRING_FREQUENCY_Custom]").attr("checked", "checked"), CFSchedulerJSObject.freqChange(), $("#cusRecDiv1,#cusRecDiv2").show(), "1" == $("#hiddenOption").val() ? $('input[name=monthlyhidden][value="1"]').attr("checked", !0) : $('input[name=monthlyhidden][value="2"]').attr("checked", !0), "yes" == $("#holidayOption").val() ? $("#myswitchBar").attr("checked", !0) : $("#myswitchBar").removeAttr("checked")), $("#trDesc,#trScheduleName,#trDesc,#repeatFreq,#trCFOptions").removeClass("hide"), $("#saveButton").val(I18n.getMsg("crm.button.update")), $("#isEdit").val("Edit"), $("#cfSchId").val(schID), $("#cfsPageTitle").text(I18n.getMsg("crm.cfs.edittitle")), $("#chooseCFAction").val("customfunctions"), CFSchedulerJSObject.chooseFunction("edit"), "-1" != $("#schFreq :selected").val() && $("#saveButton").removeClass("inActiveSec"), "0" != freqtype && "-1" != freqtype ? $("#Crm_CFS_RECURRING_FREQUENCY_CustomDiv").removeClass("hide") : $("#Crm_CFS_RECURRING_FREQUENCY_CustomDiv").addClass("hide"), "yes" == $("#hasStarted").val() && $("#schDate").attr("disabled", !0).addClass("disableLink"), "" == $("#description").val().trim() ? ($("#descLink").removeClass("hide"), $("#trDesc").addClass("hide")) : ($("#descLink").addClass("hide"), $("#description").css({ | |
height: "18px" | |
})), Utils.bindChosen("#CFSchedulerTable select") | |
} | |
} | |
}) | |
}, CFSchedulerJSObject.hideFreq = function() { | |
$("#repeatFreq").addClass("hide") | |
}, CFSchedulerJSObject.showCustFunc = function() { | |
var freqtype = $("#schFreq :selected").val(); | |
$("#Crm_CFS_RECURRING_FREQUENCY_Custom").is(":checked") && "0" != freqtype && "-1" != freqtype ? (CFSchedulerJSObject.freqChange(), $("#cusRecDiv1,#cusRecDiv2").show().contents().slideDown(), $("#p2").removeClass("hide"), Utils.bindChosen("#CFSchedulerTable select")) : ($("#cusRecDiv1,#cusRecDiv2").hide(), $("#p2").addClass("hide")) | |
}, CFSchedulerJSObject.freqChange = function() { | |
var freqtype = $("#schFreq :selected").val(); | |
if ("-1" != freqtype && "-1" != $("#chooseCFAction :selected").val() ? $("#saveButton").removeClass("inActiveSec") : $("#saveButton").addClass("inActiveSec"), "0" != freqtype && "-1" != freqtype ? $("#cusRecDiv1,#cusRecDiv2,#Crm_CFS_RECURRING_FREQUENCY_CustomDiv").removeClass("hide") : $("#cusRecDiv1,#cusRecDiv2,#Crm_CFS_RECURRING_FREQUENCY_CustomDiv").addClass("hide"), $("#countnumber,#RECURRING_PERIOD_UNIT,#cfsWeekdayList,#p1,#p2,#satsun").addClass("hide"), "1" == freqtype) | |
$("#countnumber,#RECURRING_PERIOD_UNIT,#satsun").removeClass("hide"), $("#skipFreqLabel").text("day(s)"); | |
else if ("2" == freqtype) | |
$("#countnumber,#RECURRING_PERIOD_UNIT,#cfsWeekdayList").removeClass("hide"), $("#skipFreqLabel").text("week(s)"); | |
else if ("3" == freqtype) | |
$("#countnumber,#RECURRING_PERIOD_UNIT,#p1").removeClass("hide"), $("#Crm_CFS_RECURRING_FREQUENCY_Custom").is(":checked") && $("#p2").removeClass("hide"), $("#year_month_specify").text(I18n.getMsg("crm.cfs.repeat.month.span")), $("#skipFreqLabel").text("month(s)"); | |
else if ("4" == freqtype) { | |
if ($("#countnumber,#RECURRING_PERIOD_UNIT,#p1").removeClass("hide"), $("#Crm_CFS_RECURRING_FREQUENCY_Custom").is(":checked") && $("#p2").removeClass("hide"), "" != $("#schDate").val()) { | |
var schDateObj = crmCalendar.getDateObjectFromGivenDateString($("#schDate").val()), | |
myDate = Utils.convertUsrtoDefaultDatePattern(schDateObj), | |
stddate = $.datepicker.formatDate("mm/dd/yy", myDate), | |
datee = new Date(Date.parse(stddate)), | |
month1 = crmCalendar.monthName[datee.getMonth()].html; | |
$("#year_month_specify").text(I18n.getMsg("crm.recurring.custom.yearly.repeat.on", I18n.getMsg([month1]))) | |
} else { | |
var n = CFSchedulerJSObject.monthNames[(new Date).getMonth()]; | |
$("#year_month_specify").text(I18n.getMsg("crm.recurring.custom.yearly.repeat.on", I18n.getMsg([n]))) | |
} | |
$("#skipFreqLabel").text("year(s)") | |
} else | |
$("#countnumber,#RECURRING_PERIOD_UNIT,#p1,#p2,#satsun").addClass("hide"), $("#year_month_specify").text(""); | |
Utils.bindChosen("#CFSchedulerTable select") | |
}, CFSchedulerJSObject.chooseFunction = function(mode) { | |
var objValue = $("#chooseCFAction :selected").val(); | |
"customfunctions" === objValue ? ("edit" != mode ? (freezeBackground(), CFSchedulerJSObject.createNewFunction()) : ($("#customFunctionNameDisp,#editCustomFunction,#remoteCustomFunction").removeClass("hide"), $("#chooseCFActionSelect,#undoCustomFunctionChange").addClass("hide"), $("#chooseCFAction").attr("disabled", !0)), $("#trCFSaveButton").removeClass("hide"), "-1" != $("#schFreq :selected").val() && $("#saveButton").removeClass("inActiveSec"), $("#urlContent,.selectedactionsCtn,.viewBtnPlace,#trCBDisplay").addClass("hide"), $("#expression").val("")) : "existing" === objValue ? (CFSchedulerJSObject.listCustomFunctions("function"), $("#trCFSaveButton").removeClass("hide"), "-1" != $("#schFreq :selected").val() && $("#saveButton").removeClass("inActiveSec")) : "gallery" === objValue ? (CFSchedulerJSObject.listCustomFunctions("gallery"), $("#trCFSaveButton").removeClass("hide"), "-1" != $("#schFreq :selected").val() && $("#saveButton").removeClass("inActiveSec"), $("#urlContent,.selectedactionsCtn,.viewBtnPlace,#trCBDisplay").addClass("hide"), $("#expression").val("")) : ($("#urlContent,.selectedactionsCtn,.viewBtnPlace,#customFunctionNameDisp,#editCustomFunction,#remoteCustomFunction,#undoCustomFunctionChange").addClass("hide"), $("#saveButton").addClass("inActiveSec")) | |
}, CFSchedulerJSObject.createNewFunction = function() { | |
"function" == typeof handlePostMessage && (window.addEventListener ? removeEventListener("message", handlePostMessage, !1) : detatchEvent("onmessage", handlePostMessage)); | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=createNewCustomFunction", | |
requestPool = new crmRequestPool; | |
requestPool.doAjax(url, function(resp) { | |
if ("crm.custombutton.error.usermail.notconfirmed" == resp) | |
crmui.showMsgBand("error", I18n.getMsg("crm.custombutton.error.usermail.notconfirmed"), 4e3, ""), removeFreezeLayer(), $("#chooseCFAction").val("-1").trigger("change.select2"), Utils.bindChosen("#CFSchedulerTable select"); | |
else { | |
var newRelatedListPopupDiv = $("#newRelatedListPopUpDiv"); | |
newRelatedListPopupDiv.html(resp).css("zIndex", 1e4).show(), Utils.showHideLoadingDiv(), newRelatedListPopupDiv.css({ | |
padding: "0px", | |
width: "1000px" | |
}), crmui.showPop("newRelatedListPopUpDiv") | |
} | |
}, params, void 0, void 0, void 0, "GET") | |
}, CFSchedulerJSObject.cancelOperationInCustomFunction = function(mode, fromSrc) { | |
"edit" === mode ? CFSchedulerJSObject.closeDiv("newRelatedListPopUpDiv") : "configure" === mode ? CFSchedulerJSObject.listCustomFunctions(fromSrc) : (CFSchedulerJSObject.closeDiv("newRelatedListPopUpDiv"), $("#chooseCFAction").val("-1"), $("#chooseCFAction").trigger("change.select2"), Utils.bindChosen("#CFSchedulerTable select"), Utils.showHideLoadingDiv()) | |
}, CFSchedulerJSObject.listCustomFunctions = function(fromSrc) { | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=listCFSFunctions&fromSrc=" + fromSrc; | |
Utils.showHideLoadingDiv(!0), (new crmRequestPool).initiate({ | |
action: url, | |
type: "GET", | |
data: params, | |
success: function(resp) { | |
if ("crm.custombutton.error.usermail.notconfirmed" == resp) | |
crmui.showMsgBand("error", I18n.getMsg("crm.custombutton.error.usermail.notconfirmed"), 4e3, ""), removeFreezeLayer(), $("#chooseCFAction").val("-1"); | |
else { | |
var newRelatedListPopupDiv = $("#newRelatedListPopUpDiv"); | |
newRelatedListPopupDiv.html(resp), $("#newRelatedListPopUpDiv").removeClass().addClass("newpopup p30 w720"), newRelatedListPopupDiv.css("zIndex", 250), Utils.showHideLoadingDiv(), newRelatedListPopupDiv.css({ | |
padding: "0px" | |
}), newRelatedListPopupDiv.css({ | |
width: "60%" | |
}), crmui.showPop("newRelatedListPopUpDiv") | |
} | |
} | |
}) | |
}, CFSchedulerJSObject.closeCustomFunctionConfigDiv = function() { | |
crmui.hidePopup("newRelatedListPopUpDiv"), $("#chooseCFAction").val("-1").trigger("change.select2"), Utils.bindChosen("#CFSchedulerTable select") | |
}, CFSchedulerJSObject.saveCFSchedulerDeluge = function(functionName, otherParamNames, otherParamVals, entityParamNames, entityParamVals, workflowLinkId, isCreatorCalled, paramsNotChanged, description) { | |
var action = "saveCFSDetails", | |
schID = -1, | |
schIDfromReq = $("#cfSchId").val(); | |
"" !== schIDfromReq && (schID = schIDfromReq), "" !== schID && -1 != schID && (action = "updateCFSDetails"); | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=" + action + "&schID=" + schID + "&functionName=" + encodeURIComponent(functionName) + "&otherParamNames=" + encodeURIComponent(otherParamNames) + "&otherParamVals=" + encodeURIComponent(otherParamVals) + "&entityParamNames=" + encodeURIComponent(entityParamNames) + "&entityParamVals=" + encodeURIComponent(entityParamVals); | |
params = params + "&workflowLinkId=" + workflowLinkId + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken), description && (params = params + "&desc=" + encodeURIComponent(description)); | |
var requestPool = new crmRequestPool; | |
requestPool.doAjax(url, function(response) { | |
if (isCreatorCalled) { | |
var jsonRes = $.parseJSON(response); | |
$("#customFunctionNameDisp").text(jsonRes.funcName), $("#cfSchId").val(jsonRes.schId), $("#workflowLinkId").val(jsonRes.workflowLinkId), $("#customFunctionNameDisp,#editCustomFunction,#remoteCustomFunction").removeClass("hide"), $("#chooseCFActionSelect,#undoCustomFunctionChange").addClass("hide"), $("#chooseCFAction").attr("disabled", !0) | |
} | |
}, params) | |
}, CFSchedulerJSObject.validateSplCharInNameField = function(fieldValue) { | |
var i, | |
splCharArrayForTabs = new Array("`", "~", "!", "#", "^", "*", "[", "]", "{", "}", "|", "\\", '"', ";", "'", "&", "+", "%", "(", ")", "@", "?", ":", "<", ">", ":", ",", "$", "=", "/"); | |
for (i = 0; i < splCharArrayForTabs.length; i++) | |
if (fieldValue.indexOf(splCharArrayForTabs[i]) >= 0) | |
return !0; | |
return !1 | |
}, CFSchedulerJSObject.cfSchedulerSubmit = function() { | |
$(".red").removeClass("red"), $("#remoteCustomFunction").addClass("red"), $(".redTxt").removeClass("redTxt"), $(".errMsg").addClass("hide"); | |
var hasStarted = $("#hasStarted").val(), | |
nameObj = $("#cfSchedulerName"), | |
isCustomRec = "no", | |
workflowLinkId = $("#workflowLinkId").val(), | |
error = !1, | |
schName = nameObj.val(), | |
schDesc = $("#description").val(), | |
schDate = $("#schDate").val(); | |
"yes" == hasStarted && (schDate = $("#schDateOrg").val()); | |
var schTime = $("#schTime").val(); | |
if ("" === schName) | |
nameObj.focus().select().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), nameObj.next().next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.NameRequired")), error = !0; | |
else if ("" !== schName) | |
if (error = CFSchedulerJSObject.validateSplCharInNameField(schName)) | |
nameObj.focus().select().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), nameObj.next().next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.NoSplCharsInName")); | |
else | |
for (var nameArr = $("#schNameMap").val().replace("}", ""), nameMap = nameArr.split(","), cfsName = $("#cfsName").val(), i = 1; i < nameMap.length; i++) { | |
var schNameOb = nameMap[i].split("="); | |
if (("Edit" != $("#isEdit").val() || schNameOb[1].toLowerCase() != cfsName.toLowerCase()) && void 0 != schNameOb[1] && schName.toLowerCase() == schNameOb[1].toLowerCase()) { | |
nameObj.focus().select().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), nameObj.next().next().removeClass("hide").text(I18n.getMsg("crm.cfs.schName.exist")), error = !0; | |
break | |
} | |
} | |
else | |
schName > 30 && (nameObj.focus().select().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), nameObj.next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.name.exceedLength")), error = !0); | |
schDesc > 250 && ($("#description").focus().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#description").next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.desc.exceedLength")), error = !0); | |
var schDateObj = crmCalendar.getDateObjectFromGivenDateString(schDate), | |
myDate = Utils.convertUsrtoDefaultDatePattern(schDateObj), | |
stddate = $.datepicker.formatDate("mm/dd/yy", myDate); | |
if ("" == schDate.trim() ? ($("#schDate").focus().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#schDate").next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.DateRequired")), error = !0) : "" !== stddate && (Utils.isValidDate("mm/dd/yyyy", stddate) || ($("#schDate").focus().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#schDate").next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.InvalidDate")), error = !0)), "" === schTime) | |
$("#schTime").focus().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#schTime").next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.TimeRequired")), error = !0; | |
else { | |
if ("HH:mm" === Crm.userDetails.TIME_FORMAT) | |
var regex = /^([0]?[0-9]|1[0-9]|2[0-3]):([0,3][0])\s?$/i; | |
else | |
var regex = /^([0]\d|[1][0-2]):([0,3][0])\s?(?:AM|PM)$/i; | |
schTime = schTime.replace(I18n.getMsg("AM"), "AM"), schTime = schTime.replace(I18n.getMsg("PM"), "PM"), "" == schTime || regex.test(schTime) || ($("#schTime").focus().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#schTime").next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.Validtime")), error = !0) | |
} | |
var tomoevent = !1; | |
new Date >= new Date(Date.parse(stddate + " " + schTime)) && "no" == hasStarted ? ($("#schTime").focus().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#schTime").next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.ValidDatetime")), error = !0) : new Date > new Date(Date.parse(stddate + " " + schTime)) && "yes" == hasStarted ? (tomoevent = !0, myDate.setTime(myDate.getTime() + 864e5), stddate = $.datepicker.formatDate("mm/dd/yy", myDate)) : (myDate.getTime() - (new Date).getTime()) / 864e5 > 90 && ($("#schTime").focus().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#schTime").next().removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.Validtime")), error = !0); | |
var monthlyhidden = "1", | |
weeksequence = "", | |
yearlyhidden = "1", | |
monthVal = "" + stddate.split("/")[0], | |
dayOfMonth = "" + stddate.split("/")[1], | |
weekdays = "", | |
exceptHoliday = "", | |
selectedWeekDays = "-1", | |
freq = $("#schFreq :selected").val(); | |
$("#Crm_CFS_RECURRING_FREQUENCY_Custom").is(":checked") && (freq = "5"); | |
var repeatEveryCnt = "1"; | |
if ("5" == freq) { | |
var newFreq = $("#schFreq :selected").val(); | |
if ("88" != newFreq) | |
if (freq = newFreq, isCustomRec = "yes", "1" == freq) | |
$("#myswitchBar").is(":checked") && (exceptHoliday = parseInt(Crm.calPreferences.HOLIDAY1) + 1, "-1" != Crm.calPreferences.HOLIDAY2 && (exceptHoliday += "," + (parseInt(Crm.calPreferences.HOLIDAY2) + 1))), repeatEveryCnt = $("#skipFreq").val(); | |
else if ("2" == freq) { | |
var element = $("div[id^='selectedDay_']"); | |
for (i = 0; i < element.length; i++) | |
selectedWeekDays = "-1" === selectedWeekDays ? $(element[i]).attr("id").split("selectedDay_")[1] : selectedWeekDays + "," + $(element[i]).attr("id").split("selectedDay_")[1]; | |
"-1" === selectedWeekDays && (crmui.showMsgBand("error", I18n.getMsg("crm.cfs.select.atleast.oneday"), 4e3, ""), $("#weekTxt").focus().closest("td").removeClass("wf_setFocus").addClass("red"), error = !0), repeatEveryCnt = $("#skipFreq").val() | |
} else if ("3" == freq) { | |
var myRadio = $("input[name=monthlyhidden]"); | |
monthlyhidden = myRadio.filter(":checked").val(), "1" == monthlyhidden ? dayOfMonth = $("#Crm_Cfs_RECURRING_CUSTOM_MONTH_REPEAT_ON_DAY :selected").val() : "2" == monthlyhidden ? (weeksequence = $("#Crm_Cfs_RECURRING_CUSTOM_OCCUR_FIRST :selected").val(), weekdays = $("#Crm_Cfs_RECURRING_CUSTOM_OCCUR_DAY :selected").val()) : (crmui.showMsgBand("error", I18n.getMsg("crm.cfs.select.atleast.oneweekday"), 4e3, ""), error = !0), repeatEveryCnt = $("#skipFreq").val() | |
} else if ("4" == freq) { | |
var myRadio = $("input[name=monthlyhidden]"); | |
yearlyhidden = myRadio.filter(":checked").val(), "1" == yearlyhidden ? dayOfMonth = $("#Crm_Cfs_RECURRING_CUSTOM_MONTH_REPEAT_ON_DAY :selected").val() : "2" == yearlyhidden ? (weeksequence = $("#Crm_Cfs_RECURRING_CUSTOM_OCCUR_FIRST :selected").val(), weekdays = $("#Crm_Cfs_RECURRING_CUSTOM_OCCUR_DAY :selected").val()) : (crmui.showMsgBand("error", I18n.getMsg("crm.cfs.select.atleast.oneweekday"), 4e3, ""), error = !0), repeatEveryCnt = $("#skipFreq").val() | |
} | |
} | |
(null === repeatEveryCnt || isNaN(repeatEveryCnt) || "" === repeatEveryCnt || "0" == repeatEveryCnt) && (crmui.showMsgBand("error", I18n.getMsg("crm.cfs.validnumber"), 4e3, ""), $("#skipFreq").focus().addClass("red"), error = !0); | |
var period = ""; | |
switch (freq) { | |
case "0": | |
period = "once"; | |
break; | |
case "1": | |
period = "daily"; | |
break; | |
case "2": | |
period = "weekly"; | |
break; | |
case "3": | |
period = "monthly"; | |
break; | |
case "4": | |
period = "yearly" | |
} | |
var schFreq = $("#schFreq :selected").val(); | |
"-1" === schFreq && ($("#schFreq").focus().select().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#errorMsg_cfs_freq_req").removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.FreqRequired")), error = !0); | |
var invoke = $("#chooseCFAction :selected").val(); | |
if ("-1" === invoke && ($("#chooseCFAction").focus().select().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#errorMsg_cfs_func_req").removeClass("hide").text(I18n.getMsg("crm.cfs.JSAlert.whatHasToHappen")), error = !0), error) | |
return !1; | |
var schId = -1, | |
isEdit = $("#isEdit").val(); | |
"" !== $("#cfSchId").val() && (schId = $("#cfSchId").val()); | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=updateSch&reqSchId=" + schId + "&schName=" + encodeURIComponent(schName) + "&isEdit=" + isEdit + "&schDesc=" + encodeURIComponent(schDesc) + "&schDate=" + stddate + "&schTime=" + schTime + "&workflowLinkId=" + workflowLinkId; | |
params = params + "&repeatEveryCnt=" + repeatEveryCnt + "&isCustomRec=" + isCustomRec + "&period=" + period + "&exceptHoliday=" + exceptHoliday + "&selectedWeekDays=" + selectedWeekDays + "&monthlyhidden=" + monthlyhidden + "&yearlyhidden=" + yearlyhidden + "&weeksequence=" + weeksequence + "&weekdays=" + weekdays + "&dayOfMonth=" + dayOfMonth + "&monthVal=" + monthVal + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
var requestPool = new crmRequestPool; | |
requestPool.doAjax(url, function(response) { | |
"err.occured" === response ? (doAjaxUpdate("result", "/recruit/CFSchedulers.do?action=ViewSch"), crmui.showMsgBand("error", I18n.getMsg("crm.cfs.error.occured"), 5e3, "")) : ($("#result").html(response), window.scrollTo(0, 0), "Edit" != isEdit ? crmui.showMsgBand("success", I18n.getMsg("crm.cfs.created", '"' + $ESAPI.encoder().encodeForHTML(schName) + '"'), 5e3, "") : crmui.showMsgBand("success", I18n.getMsg("crm.cfs.updated", '"' + $ESAPI.encoder().encodeForHTML(schName) + '"'), 5e3, "")) | |
}, params) | |
}, CFSchedulerJSObject.deleteCFScheduler = function(schID) { | |
crmui.toolTip_hide(), $("#cfs_sch_" + schID + "_true").length > 0 ? (showDeletePopup(I18n.getMsg("crm.cfs.deleteconfirm"), "crm.cfs.yes.delete", "", "", this), $("#deletepopup").find("#deleteButton").unbind("click").click(function() { | |
hideAnimatePopup("deletepopup"); | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=delSch&schID=" + schID + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
paramsHist = {}, paramsHist.action = "delSch"; | |
for (var schName, nameMap = $("#schNameMap").val().replace("}", "").split(","), i = 1; i < nameMap.length; i++) | |
if (nameMap[i].split("=")[0].trim() == schID.trim()) { | |
schName = nameMap[i].split("=")[1]; | |
break | |
} | |
var requestPool = new crmRequestPool; | |
requestPool.doAjax(url, function(response) { | |
window.scrollTo(0, 0); | |
var jsonRes = $.parseJSON(response); | |
$(".contentRows #cfs_sch_" + schID + "_true").parent().slideUp(), crmui.showMsgBand("success", I18n.getMsg("crm.cfs.deleted", '"' + $ESAPI.encoder().encodeForHTML(schName) + '"'), 5e3, ""), "0" == jsonRes.size || "-1" == jsonRes.size ? doAjaxUpdate("result", "/recruit/CFSchedulers.do?action=ViewSch") : "9" == jsonRes.size && $("#btnNewScheduler").removeClass("disabled").removeAttr("onmouseover").removeAttr("onmouseout").attr("onclick", "CFSchedulerJSObject.createNewScheduler();") | |
}, params) | |
})) : crmui.showMsgBand("success", I18n.getMsg("crm.cfs.nodelete"), 5e3, "") | |
}, CFSchedulerJSObject.closeDiv = function(div) { | |
crmui.hidePopup(div) | |
}, CFSchedulerJSObject.weekDropDown = function(el, target) { | |
var x = $(el).position().left, | |
y = $(el).offset().top, | |
myHt = $("." + target).innerHeight(); | |
$("." + target).fadeIn(100), $("." + target).css(myHt < $(window).height() - (y + 55) ? { | |
left: x, | |
top: "35px" | |
} : { | |
left: x, | |
top: "-233px" | |
}), $(".dropInput").removeAttr("placeholder"), $(".dropInput").focus(), $("body,#setup_new_ContentDiv").css("overflow", "hidden") | |
}, CFSchedulerJSObject.addWeekDay = function(target) { | |
checkedVal = $("#" + target).find("li").find('input[type="checkbox"]:checked'), !checkedVal.length > 0 ? crmui.showMsgBand("error", I18n.getMsg("crm.cfs.select.atleast.oneday"), 4e3, "") : ($(".zs-token-selected").remove(), $.each(checkedVal, function(i) { | |
weekDayName = $("#" + target).find("li").find('input[type="checkbox"]:checked').eq(i).attr("name"), weekDayId = $("#" + target).find("li").find('input[type="checkbox"]:checked').eq(i).attr("id"), spanAdd = '<div class="zs-token-selected token-selected m5 tagger-tag">', spanAdd = spanAdd + '<div class="zso_floatLeft pR5 pL5 lh16 font-lucida f11 inlineBlock" id="selectedDay_' + weekDayId + '">' + weekDayName + "</div>", spanAdd += '<span onclick="CFSchedulerJSObject.deleteList(this,event)" class="cP" title="Remove Day">x</span>', $(".dropInput").before(spanAdd) | |
}), 0 === $(".profileListst .zs-token-selected").length ? $(".dropInput").attr("placeholder", I18n.getMsg("crm.cfs.jsp.clicktoadd")) : $(".dropInput").removeAttr("placeholder"), $("#" + target).hide()) | |
}, CFSchedulerJSObject.cancelWeekDaysDiv = function() { | |
event.stopPropagation(); | |
var weekdayList = $("#weekdayList"); | |
weekdayList.hide(), weekdayList.find("li").find('input[type="checkbox"]').prop("checked", !1), $(".dropInput").attr("placeholder", I18n.getMsg("crm.cfs.jsp.clicktoadd")), $("body,#setup_new_ContentDiv").css("overflow", ""), $(".zso_floatLeft").each(function() { | |
var selDay = this.id; | |
weekdayList.find("li").find('input[type="checkbox"]').each(function() { | |
var op = this.id; | |
-1 != selDay.indexOf(op) && weekdayList.find("li").find('input[id="' + op + '"]').prop("checked", !0) | |
}) | |
}) | |
}, CFSchedulerJSObject.deleteList = function(el, e) { | |
e.stopPropagation(), $(el).parent().remove(), 0 === $(".profileListst .zs-token-selected").length ? $(".profileListst").parent().removeClass("p10 bdr1px") : $(".profileListst").parent().addClass("p10 bdr1px"), pName = $.trim($(el).prev("div").text()), $("#weekdayList").find("li").find('input[name="' + pName + '"]').prop("checked", !1) | |
}, CFSchedulerJSObject.showremoveCFAlert = function() { | |
freezeBackground(), mailsetCenter("removeCFWarningdiv"), $("#removeCFWarningdiv").removeClass("hide") | |
}, CFSchedulerJSObject.removeCustomFunction = function() { | |
$("#saveButton").addClass("inActiveSec"), $("#chooseCFAction").val("-1"), $("#chooseCFAction").trigger("change.select2"), $("#chooseCFAction").attr("disabled", !1), Utils.bindChosen("#CFSchedulerTable select"), $("#customFunctionNameDisp,#editCustomFunction,#removeCFWarningdiv,#remoteCustomFunction").addClass("hide"), $("#chooseCFActionSelect,#undoCustomFunctionChange").removeClass("hide") | |
}, CFSchedulerJSObject.undoCustomFunctionChange = function() { | |
"-1" != $("#schFreq :selected").val() && $("#saveButton").removeClass("inActiveSec"), $("#chooseCFAction").val("customfunctions"), $("#customFunctionNameDisp,#editCustomFunction,#removeCFWarningdiv,#remoteCustomFunction").removeClass("hide"), $("#chooseCFActionSelect,#undoCustomFunctionChange").addClass("hide"), $("#chooseCFAction").attr("disabled", !0), $(".selectedactionsCtn,.viewBtnPlace,#trCBDisplay").addClass("hide") | |
}, CFSchedulerJSObject.editCustomFunction = function() { | |
"function" == typeof handlePostMessage && (window.addEventListener ? removeEventListener("message", handlePostMessage, !1) : detatchEvent("onmessage", handlePostMessage)), $("body,#wfDelugeConfDIV").css("overflow", "hidden"); | |
var cfSchId = $("#cfSchId").val(), | |
workflowLinkId = $("#workflowLinkId").val(), | |
url = "/recruit/CFSchedulers.do", | |
params = "action=associatedCFSFunctions&step=edit&schID=" + cfSchId + "&workflowLinkId=" + workflowLinkId + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken), | |
requestPool = new crmRequestPool; | |
requestPool.doAjax(url, function(resp) { | |
var newRelatedListPopupDiv = $("#newRelatedListPopUpDiv"); | |
$("#newRelatedListPopUpDiv").removeClass().addClass("newpopup p30 w720"), newRelatedListPopupDiv.html(resp), "none" == newRelatedListPopupDiv.css("display") && (Utils.showHideLoadingDiv(), loadAjaxTab("", "lightblue"), $("#thirdPartyRowTag").bind("click", function() { | |
$("#thirdPartyRowTag").unbind("click") | |
})), newRelatedListPopupDiv.css({ | |
zIndex: 1e4, | |
padding: "0px" | |
}), $("#wfDelugeConfDIV").length > 0 ? $("#wfDelugeConfDIV >div:first").css("height", "auto") : $("#newRelatedListPopUpDiv .pwie:first").css("height", "auto"), crmui.showPop("newRelatedListPopUpDiv"), Utils.showHideLoadingDiv() | |
}, params) | |
}, CFSchedulerJSObject.openCustomizeCFPopup = function(url, params, btnStatus) { | |
"function" == typeof handlePostMessage && (window.addEventListener ? removeEventListener("message", handlePostMessage, !1) : detatchEvent("onmessage", handlePostMessage)); | |
var requestPool = new crmRequestPool; | |
requestPool.doAjax(url, function(resp) { | |
if ("customRelatedListIncreasedCountExceeded" == resp) | |
crmui.showMsgBand("error", I18n.getMsg("crm.label.newrelatedlist.increasedcount.exceeded"), 4e3, ""); | |
else if ("customRelatedListCountExceeded" == resp) | |
crmui.showMsgBand("error", I18n.getMsg("crm.label.newrelatedlist.exceeded"), 4e3, ""); | |
else { | |
var newRelatedListPopupDiv = $("#newRelatedListPopUpDiv"); | |
newRelatedListPopupDiv.hide().removeClass().addClass("newpopup p30 w720"), newRelatedListPopupDiv.html(resp), setDivWidthHeight("newRelatedListPopUpDiv"), newRelatedListPopupDiv.css({ | |
zIndex: 1e4, | |
padding: "0px" | |
}), "dublicate" === btnStatus ? newRelatedListPopupDiv.css({ | |
padding: "0px", | |
width: "1000px" | |
}) : $("#wfDelugeConfDIV").length > 0 ? $("#wfDelugeConfDIV >div:first").css({ | |
height: "auto" | |
}) : $("#newRelatedListPopUpDiv .pwie:first").height(newRelatedListPopupDiv.outerHeight() - 100), Utils.showHideLoadingDiv(), crmui.showPop("newRelatedListPopUpDiv") | |
} | |
}, params) | |
}, CFSchedulerJSObject.deleteCustomFunction = function(workflowLinkId) { | |
freezeBackground(); | |
var a = confirm(I18n.getMsg("crm.custombutton.customfunction.remove.alert.msg")); | |
if (a) { | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=deleteCustomFunction&workflowLinkId=" + workflowLinkId + "&" + csrfParamName + "=" + encodeURIComponent(csrfToken), | |
requestPool = new crmRequestPool; | |
requestPool.doAjax(url, function(resp) { | |
if ("customRelatedListIncreasedCountExceeded" == resp) | |
crmui.showMsgBand("error", I18n.getMsg("crm.label.newrelatedlist.increasedcount.exceeded"), 4e3, ""); | |
else if ("customRelatedListCountExceeded" == resp) | |
crmui.showMsgBand("error", I18n.getMsg("crm.label.newrelatedlist.exceeded"), 4e3, ""); | |
else { | |
var newRelatedListPopupDiv = $("#newRelatedListPopUpDiv"); | |
newRelatedListPopupDiv.html(resp), newRelatedListPopupDiv.css("zIndex", 1e4), setDivWidthHeight("newRelatedListPopUpDiv"), newRelatedListPopupDiv.show(), Utils.showHideLoadingDiv(), mailsetCenter("newRelatedListPopUpDiv") | |
} | |
}, params) | |
} | |
}, CFSchedulerJSObject.createNewScheduler = function() { | |
var url = "/recruit/CFSchedulers.do", | |
params = "action=createSch&" + csrfParamName + "=" + encodeURIComponent(csrfToken); | |
if (paramsHist = {}, paramsHist.action = "createSch", -1 !== Crm.calPreferences.HOLIDAY1 && -1 !== Crm.calPreferences.HOLIDAY2) | |
var val = I18n.getMsg("crm.label.except.holiday2", [I18n.getMsg(crmCalendar.daysFullString[Crm.calPreferences.HOLIDAY1]), I18n.getMsg(crmCalendar.daysFullString[Crm.calPreferences.HOLIDAY2])]); | |
else | |
var val = I18n.getMsg("crm.label.except.holiday1", [I18n.getMsg(crmCalendar.daysFullString[Crm.calPreferences.HOLIDAY1])]); | |
var nameMap = $("#schNameMap").val(), | |
requestPool = new crmRequestPool; | |
requestPool.doAjax(url, function(response) { | |
if ("crm.cfs.total.limit.exceeded" != response) { | |
$("#result").html(response), $("#schNameMap").val(nameMap), $("#lbl_holiday").text(val), $("#isEdit").val("No"), window.scrollTo(0, 0); | |
var histURL = "/recruit/ShowSetup.do?tab=automate&subTab=cfSchedulers&action=ViewSch", | |
histParam = { | |
tab: "automate", | |
subTab: "cfSchedulers", | |
calleeObj: "crmSetup", | |
action: "ViewSch" | |
}; | |
Crm.addToHistory(void 0, void 0, histParam, histURL), $("#cfSchedulerName").focus() | |
} else | |
crmui.showMsgBand("error", I18n.getMsg("crm.cfs.total.limit.exceeded"), 5e3, "") | |
}, params) | |
}, CFSchedulerJSObject.showSchPopup = function(el, schDesc, recSummary, crBy, mdBy) { | |
var content = "<table class='inst_Action p10' width='380' border='0' cellspacing='0' cellpadding='0'>"; | |
schDesc.trim().length > 0 && null !== schDesc && "null" !== schDesc.toLowerCase ? (content += schDesc.split("\n").length > 4 ? "<tr><td class='wf_Tdbdr'>" + I18n.getMsg("crm.label.description") + " </td></tr><tr><td style='white-space:pre-line'><div>" + schDesc.substring(0, schDesc.indexOf(schDesc.split("\n")[4]) - 1) + " ...</div></td></tr>" : schDesc.length > 180 ? "<tr><td class='wf_Tdbdr'>" + I18n.getMsg("crm.label.description") + " </td></tr><tr><td style='white-space:pre-line'><div>" + schDesc.substring(0, 180) + " ...</div></td></tr>" : "<tr><td class='wf_Tdbdr'>" + I18n.getMsg("crm.label.description") + " </td></tr><tr><td style='white-space:pre-line'><div>" + schDesc + "</div></td></tr>", content += "<tr><td class='wf_Tdbdr pT20'>" + I18n.getMsg("crm.cfs.popupmsg1") + "</td></tr><tr><td style='white-space:normal'>" + recSummary + "</td></tr>") : content += "<tr><td class='wf_Tdbdr'>" + I18n.getMsg("crm.cfs.popupmsg1") + "</td></tr><tr><td style='white-space:normal'>" + recSummary + "</td></tr>", content += "<tr><td class='wf_Tdbdr pT20'>" + I18n.getMsg("crm.cfs.popupmsg2") + "</td></tr><tr><td style='white-space:normal'>" + crBy + "</td></tr>", content += "<tr><td class='wf_Tdbdr pT20'>" + I18n.getMsg("crm.cfs.popupmsg3") + "</td></tr><tr><td style='white-space:normal'>" + mdBy + "</td></tr>", content += "</table>", crmui.toolTip_show(el, "left", content, !0) | |
}, CFSchedulerJSObject.hideSchPopup = function() { | |
crmui.toolTip_hide() | |
}, $(document).on("keyup", function(evt) { | |
27 == evt.keyCode && $(".schedulerTable").length > 0 && CFSchedulerJSObject.leavePage() | |
}), CFSchedulerJSObject.weekdayText = function(ev) { | |
crmui.showMsgBand("info", I18n.getMsg("crm.cfs.selectweek"), 4200, ""), ev.preventDefault() | |
}, CFSchedulerJSObject.skipFreq = function(e) { | |
var code = e.which || e.keyCode; | |
code >= 48 && 57 >= code || code >= 0 && 31 >= code || 127 == code || (crmui.showMsgBand("error", I18n.getMsg("crm.cfs.onlynumerals"), 4200, ""), e.preventDefault()) | |
}, CFSchedulerJSObject.cfSchedulerNamekeypress = function(e) { | |
var code = e.which || e.keyCode; | |
11 == code || 9 == code ? $("#schDate").focus() : code >= 65 && 90 >= code || code >= 48 && 57 >= code || code >= 97 && 122 >= code || 95 == code || 46 == code || 45 == code || 32 == code || 8 == code || 127 == code || (crmui.showMsgBand("error", I18n.getMsg("crm.cfs.noSpecialChar"), 4200, ""), e.preventDefault()) | |
}, CFSchedulerJSObject.cfSchedulerNamefocusout = function() { | |
$(".red").removeClass("red"), $("#remoteCustomFunction").addClass("red"), $(".redTxt").removeClass("redTxt"), $(".errMsg").addClass("hide"); | |
for (var name = $("#cfSchedulerName").val(), nameArr = $("#schNameMap").val().replace("}", ""), nameMap = nameArr.split(","), cfsName = $("#cfsName").val(), i = 1; i < nameMap.length; i++) { | |
var schName = nameMap[i].split("="); | |
if (("Edit" != $("#isEdit").val() || schName[1].toLowerCase().trim() != cfsName.toLowerCase().trim()) && name.toLowerCase().trim() == schName[1].toLowerCase().trim()) { | |
$("#cfSchedulerName").focus().select().closest("td").removeClass("wf_setFocus").addClass("red").prev("td").addClass("redTxt"), $("#cfSchedulerName").next().next().removeClass("hide").text(I18n.getMsg("crm.cfs.schName.exist")); | |
break | |
} | |
} | |
}, CFSchedulerJSObject.schDate = function(ev) { | |
var code = ev.which || ev.keyCode; | |
127 == code || 8 == code ? ($("#schDate").val(""), $("#cusDateFrom").val(""), $("#cusDateTo").val("")) : "" == $("#schDate").val() ? (ev.preventDefault(), crmui.showMsgBand("info", I18n.getMsg("crm.cfs.choosedate"), 4200, "")) : ev.preventDefault() | |
}, CFSchedulerJSObject.schTime = function(ev) { | |
var code = ev.which || ev.keyCode; | |
127 == code || 8 == code ? $("#schTime").val("") : "" == $("#schTime").val() ? (ev.preventDefault(), $("#schTime").trigger("click"), crmui.showMsgBand("info", I18n.getMsg("crm.cfs.choosetime"), 4200, "")) : (ev.preventDefault(), $("#schTime").trigger("click")) | |
}, CFSchedulerJSObject.SortTable = function(curObj) { | |
var type = arguments.length > 0 ? arguments[1] : "T", | |
table = document.getElementById($(curObj).closest("table").attr("id")), | |
tbody = table.getElementsByTagName("tbody")[0], | |
rows = tbody.getElementsByTagName("tr"), | |
sortColumn = $("th").index(curObj); | |
"table-2" == $(curObj).closest("table").attr("id") && (sortColumn -= 6); | |
var arrayOfRows = new Array; | |
type = type.toUpperCase(); | |
for (var i = 0, len = rows.length; len > i; i++) { | |
arrayOfRows[i] = {}, arrayOfRows[i].oldIndex = i; | |
var celltext = rows[i].getElementsByTagName("td")[sortColumn].innerText.replace(/<[^>]*>/g, ""), | |
re = "N" == type ? /[^\.\-\+\d]/g : /[^a-zA-Z0-9]/g; | |
arrayOfRows[i].value = celltext.replace(re, "").substr(0, 25).toLowerCase() | |
} | |
if (sortColumn == CFSchedulerJSObject.TableLastSortedColumn) | |
arrayOfRows.reverse(); | |
else | |
switch (CFSchedulerJSObject.TableLastSortedColumn = sortColumn, type) { | |
case "N": | |
arrayOfRows.sort(CFSchedulerJSObject.CompareRowOfNumbers); | |
break; | |
default: | |
arrayOfRows.sort(CFSchedulerJSObject.CompareRowOfText) | |
} | |
for (var newTableBody = document.createElement("tbody"), i = 0, len = arrayOfRows.length; len > i; i++) | |
newTableBody.appendChild(rows[arrayOfRows[i].oldIndex].cloneNode(!0)); | |
table.replaceChild(newTableBody, tbody), function() { | |
$(".contentRows").mouseover(function() { | |
$(this).css("background-color", "#f6f2ed"), $(this).find("td:first-child").children("div").removeClass("vh") | |
}).mouseout(function() { | |
$(this).css("background-color", "#ffffff"), $(".contentRows td:first-child").children("div").addClass("vh") | |
}) | |
}() | |
}, CFSchedulerJSObject.CompareRowOfText = function(a, b) { | |
var aval = a.value, | |
bval = b.value; | |
return aval == bval ? 0 : aval > bval ? 1 : -1 | |
}, CFSchedulerJSObject.CompareRowOfNumbers = function(a, b) { | |
var aval = /\d/.test(a.value) ? parseFloat(a.value) : 0, | |
bval = /\d/.test(b.value) ? parseFloat(b.value) : 0; | |
return aval == bval ? 0 : aval > bval ? 1 : -1 | |
}, CFSchedulerJSObject.myFilter = function() { | |
$("tr").show(); | |
var schTimeElem = $("#SchTimeList"); | |
$("#table-2").find("tr").not(":first").each(function() { | |
if ($("#SchNameList option:selected").text() != I18n.getMsg("crm.cfs.select.allsch") && $.trim($(this).find("td.failureName").text()).toLowerCase() != $("#SchNameList option:selected").text().toLowerCase() && $(this).hide(), "1" == schTimeElem.val()) { | |
var d = new Date; | |
d.setHours(0, 0, 0, 0), $.trim(Number($(this).find("td.failureTime").text())) < d.getTime() && $(this).hide() | |
} else if ("2" == schTimeElem.val()) { | |
var d = new Date; | |
d.setHours(0, 0, 0, 0), $.trim(Number($(this).find("td.failureTime").text())) > d.getTime() && $(this).hide(), d.setDate(d.getDate() - 1), $.trim(Number($(this).find("td.failureTime").text())) < d.getTime() && $(this).hide() | |
} else if ("3" == schTimeElem.val()) { | |
var d = new Date; | |
d.setDate(d.getDate() - 7), d.setHours(0, 0, 0, 0), $.trim(Number($(this).find("td.failureTime").text())) < d.getTime() && $(this).hide() | |
} else if ("4" == schTimeElem.val()) { | |
var d = new Date; | |
d.setDate(d.getDate() - 30), d.setHours(0, 0, 0, 0), $.trim(Number($(this).find("td.failureTime").text())) < d.getTime() && $(this).hide() | |
} else if ("custom" == schTimeElem.val()) | |
if ("" == $("#cusDateFrom").val() || "" == $("#cusDateTo").val()) | |
$(this).hide(); | |
else { | |
var schDateObj = crmCalendar.getDateObjectFromGivenDateString($("#cusDateFrom").val()), | |
myDate = Utils.convertUsrtoDefaultDatePattern(schDateObj), | |
cusDate = $.datepicker.formatDate("mm/dd/yy", myDate), | |
d1 = new Date(Date.parse(cusDate)); | |
schDateObj = crmCalendar.getDateObjectFromGivenDateString($("#cusDateTo").val()), myDate = Utils.convertUsrtoDefaultDatePattern(schDateObj), cusDate = $.datepicker.formatDate("mm/dd/yy", myDate); | |
var d2 = new Date(Date.parse(cusDate)); | |
d2.setHours(23, 59, 59, 999), $.trim(Number($(this).find("td.failureTime").text())) < d1.getTime() && $(this).hide(), $.trim(Number($(this).find("td.failureTime").text())) > d2.getTime() && $(this).hide() | |
} | |
}) | |
}; | |
var time = 1e4, | |
TIMEOUT_CLEAR; | |
$(function() { | |
$("body").on("keyup keydown blur", ".textareachk", function() { | |
var elem = $(this), | |
data = elem.attr("data-textarea"), | |
value = elem.val(); | |
value = void 0 != value ? value.trim() : ""; | |
var valLen = value.length; | |
if (elem.removeAttr("placeholder"), void 0 != data && null != data && "" != data) { | |
"string" == typeof data && (data = JSON.parse(data)); | |
var pastediv = $(data.pastediv); | |
(void 0 == pastediv || null == pastediv || 0 == pastediv.length) && (pastediv = $(this)); | |
var errormaxClass = void 0 != data.errormaxclass ? data.errormaxclass : "error-msg cB ml160", | |
errorminClass = void 0 != data.errorminclass ? data.errorminclass : "error-msg cB ml160", | |
insertMethod = data.method, | |
maxLength = parseInt(data.maxlength), | |
minLength = parseInt(data.minlength), | |
remainingCount = parseInt(maxLength) - parseInt(valLen), | |
minCount = parseInt(maxLength - minLength), | |
errormaxContent = void 0 != data.errormaxcontent ? data.errormaxcontent : I18n.getMsg("crm.label.error.maxchar", [remainingCount]), | |
errorminContent = void 0 != data.errormincontent ? data.errormincontent : I18n.getMsg("crm.label.error.minchar", [remainingCount]), | |
disableBtn = data.disablebtn, | |
disableElem = $("#" + disableBtn); | |
if (0 != disableElem.length && disableElem.removeClass("btn-disable"), $("#maxerrordiv").remove(), valLen >= maxLength) { | |
if (pastediv) { | |
var errorElem = Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": errormaxClass, | |
id: "maxerrordiv" | |
}, | |
html: errormaxContent | |
}); | |
insertMethod ? "before" == insertMethod ? pastediv.before(errorElem) : "append" == insertMethod ? pastediv.append(errorElem) : pastediv.after(errorElem) : pastediv.after(errorElem), 0 != disableElem.length && disableElem.addClass("btn-disable"); | |
var newVal = value.substring(0, maxLength); | |
elem.val(newVal) | |
} | |
} else if (valLen > minCount && pastediv) { | |
var errorElem = Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": errorminClass, | |
id: "maxerrordiv" | |
}, | |
html: errorminContent | |
}); | |
insertMethod ? "before" == insertMethod ? pastediv.before(errorElem) : "append" == insertMethod ? pastediv.append(errorElem) : pastediv.after(errorElem) : pastediv.after(errorElem) | |
} | |
} | |
}).on("click", "#listViewTable.listview tr", function(e) { | |
var stopEvent = !1; | |
if ($(e.target).is("td") || $(e.target).is("a") && $(e.target).hasClass("lookupColName")) { | |
if ($(e.target).is("td") && !$(e.target).closest("tr").attr("data-cid")) { | |
var tr = $(e.target).closest("tr"), | |
entityId = tr.attr("id"), | |
params = tr.data("params"), | |
module = params && params.hasOwnProperty("module") ? params.module : crmTab.selectedTab, | |
assoJOId = params && params.hasOwnProperty("assoJOId") ? params.assoJOId : void 0; | |
entityId && "listviewHeaderRow" !== entityId && ZRCommonUtil.getDetailView(entityId, module, !0, assoJOId), stopEvent = !0 | |
} else if ($(e.target).is("a") && $(e.target).hasClass("lookupColName") && !$(e.target).attr("data-cid")) { | |
var params = $(e.target).data("params"), | |
module = params && params.hasOwnProperty("module") ? params.module : crmTab.selectedTab, | |
tr = $(e.target).closest("tr"), | |
assoJOId = void 0; | |
if ("Leads" === module) { | |
var newParams = tr.data("params"); | |
assoJOId = newParams && newParams.hasOwnProperty("assoJOId") ? newParams.assoJOId : void 0 | |
} | |
params.module.startsWith("CustomModule") ? ZRCommonUtil.getDetailView($(e.target).closest("tr").attr("id"), module) : ZRCommonUtil.getDetailView(params.entityId, module, !0, assoJOId), stopEvent = !0 | |
} | |
stopEvent === !0 && sE(e) | |
} | |
}).on("click", "#jobPipelines #pipeline-jobstage,#jobPipelines #count-anchor,#jobPipelines #pipeline-arrow", function(event) { | |
sE(event); | |
var $tgt = $(event.target); | |
$tgt = $tgt.hasClass("pipeline-jobstage") ? $tgt : $tgt.closest(".pipeline-jobstage"), CrmDashboard.filterStageforPPWidget(event, $tgt) | |
}).on("click", "#showHideSearchCriteria", function() { | |
ZRCommonUtil.showHideSearchCriteria(), $(this).hide() | |
}).on("click", "#gsearchicon", function() { | |
ajaxGSearch("gsearchTextBox") | |
}).on("click", "#AttachPermDiv", function() { | |
ZRCommonUtil.delegateClickEventForAttachPerm(event) | |
}).on("change", "#AttachPermDiv", function(event) { | |
ZRCommonUtil.delegateChangeEventForAttachPerm(event) | |
}).on("click", ".expand-jbpipeline", function(event) { | |
sE(event), $(event.target).hasClass("expand") ? CrmDashboard.expandCollapseWidget("expand") : $(event.target).hasClass("expanded") && CrmDashboard.expandCollapseWidget("collapse") | |
}).on("click", ".expand-reports", function(event) { | |
sE(event); | |
var id = $(event.target).attr("id"); | |
id = id.slice(id.indexOf("_") + 1), $(event.target).hasClass("expand") ? CrmDashboard.expandCollapseWidget("expand", id) : $(event.target).hasClass("expanded") && CrmDashboard.expandCollapseWidget("collapse", id) | |
}).on("click", "#sSearch", function() { | |
ZRCommonUtil.showHideSearchPopOver($(this)) | |
}), $("#simpleGlobalSearch").click(function() { | |
ZRCommonUtil.searchFromBar() | |
}), $(".searchPopOver").click(function() { | |
event.stopPropagation() | |
}), $("#clearsearchtext").click(function() { | |
$("#gsearchTextBox").val("") | |
}), $(".cande").click(function() { | |
if (zctt.hidett(!0), "TAB" == ZRCommonUtil.SEARCHDEFAULT.trim()) { | |
var status = ZRCommonUtil.setDefaultSearchBarModule("Candidates"), | |
msg = "", | |
params = {}; | |
"success" == status ? ($(this).addClass("act"), msg = I18n.getMsg("zr.search.bar.default.success.candidate"), params = { | |
type: "success-modal", | |
boldMsg: "", | |
msg: msg, | |
display: "pop", | |
duration: 5e3 | |
}) : (msg = I18n.getMsg("zr.candidatereview.approveerror"), params = { | |
type: "failure-modal", | |
boldMsg: "", | |
msg: msg, | |
display: "pop", | |
duration: 3e3 | |
}), ZRComponent.openAlertMessage(params) | |
} else { | |
var status = ZRCommonUtil.setDefaultSearchBarModule("TAB"), | |
msg = "", | |
params = {}; | |
"success" == status ? ($(this).removeClass("act"), msg = I18n.getMsg("zr.search.bar.default.success.tab"), params = { | |
type: "success-modal", | |
boldMsg: "", | |
msg: msg, | |
display: "pop", | |
duration: 5e3 | |
}) : (msg = I18n.getMsg("zr.candidatereview.approveerror"), params = { | |
type: "failure-modal", | |
boldMsg: "", | |
msg: msg, | |
display: "pop", | |
duration: 3e3 | |
}), ZRComponent.openAlertMessage(params) | |
} | |
}).mouseover(function() { | |
ZRCommonUtil.SEARCHDEFAULT && "TAB" == ZRCommonUtil.SEARCHDEFAULT.trim() ? zctt.showtt(I18n.getMsg("zr.search.bar.default.success.tooltip.candidate"), void 0, void 0, void 0, void 0, "searchPopOverToolTip") : zctt.showtt(I18n.getMsg("zr.search.bar.default.success.tooltip.tab"), void 0, void 0, void 0, void 0, "searchPopOverToolTip") | |
}).mouseout(function() { | |
zctt.hidett(!0) | |
}) | |
}); | |
var ZRCommonUtil = { | |
ZCMODULEMAP: { | |
Leads: "Candidates", | |
Potentials: "Job Openings", | |
Accounts: "Clients", | |
Contacts: "Contacts", | |
Products: "Interviews", | |
Lead: "Candidate", | |
Potential: "Job Opening", | |
Account: "Client", | |
Contact: "Contact", | |
Product: "Interview", | |
Questionnaires: "Assessments" | |
}, | |
ZRMODULEMAP: { | |
Candidates: "Leads", | |
JobOpenings: "Potentials", | |
Interviews: "Products", | |
Clients: "Accounts", | |
"Job Openings": "Potentials", | |
Assessments: "Questionnaires" | |
}, | |
ISSOCIALNOTIFIED: !1, | |
ZRRECRUITURLS: ["/recruit/ResumeInboxSettings.do"], | |
ZRRECRUITERRORHANDLEDURLS: ["/recruit/GetJOList.do", "/recruit/GetQVInfo.do"], | |
SOURCESFORCLOUDPICKER: "zohodocs,gdrive,box,skydrive,dropbox,evernote", | |
NONEDITABLEPROFILE: ["Client Administrator", "Client Interviewer"], | |
isStaffingType: !0, | |
FILTERRECORDS: "", | |
FILTERJOBID: "", | |
FILTERJOBNAME: "", | |
FILTERCANDSTATUS: "", | |
CURRMODULE: "", | |
docsUrl: "", | |
SEARCHDEFAULT: void 0, | |
fromClientNavigation: !1, | |
showClientNavCtrls: !1, | |
init: function(type) { | |
1 == type && (ZRCommonUtil.ZCMODULEMAP.Accounts = "Departments", ZRCommonUtil.ZRMODULEMAP.Departments = "Accounts", ZRCommonUtil.isStaffingType = !1); | |
var template = Handlebars.getTemplate("common", "simpleSearchContainer"); | |
$("#newSearchContainer").append(template()), isClientUser || ZRSimpleSearch.init() | |
}, | |
isCVUsedInFeatures: function(cvid, module) { | |
var target = "false"; | |
return "Leads|Candidiates|Accounts|Potentials|Contacts".indexOf(module) < 0 ? target : (ZRCommonUtil.ajaxGetMethod("/recruit/CheckBeforeCustomViewDelete.do?cvid=" + cvid + "&module=" + module, void 0, !1, "json", void 0, function(json) { | |
if (json = ZRCommonUtil.convertStringToJson(json), target = "true" == json.check ? "true" : target, "true" == target) { | |
var htmlBody = document.createDocumentFragment(), | |
errCount = 0, | |
liElem = document.createDocumentFragment(); | |
$.each(json.schNames, function(index, element) { | |
liElem.appendChild(Utils.createHTML({ | |
name: "li", | |
child: [{ | |
name: "span" | |
}], | |
html: $ESAPI.encoder().encodeForHTML(element) | |
})) | |
}); | |
var createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "f13 mB20 mT20" | |
}, | |
child: [{ | |
name: "div", | |
child: [{ | |
name: "label", | |
html: I18n.getMsg("crm.label.scheduler.deletecustomviewmessage") + ":" | |
}, { | |
name: "ul", | |
attr: { | |
"class": "points" | |
} | |
}, { | |
name: "label", | |
html: I18n.getMsg("crm.label.scheduler.redirect") | |
}] | |
}] | |
}); | |
$(createElem).find(".points").html(liElem), json.schNames.length > 0 && (htmlBody.appendChild(createElem), errCount++), liElem = document.createDocumentFragment(), $.each(json.arNames, function(index, element) { | |
liElem.appendChild(Utils.createHTML({ | |
name: "li", | |
child: [{ | |
name: "span" | |
}], | |
html: $ESAPI.encoder().encodeForHTML(element) | |
})) | |
}); | |
var createElem1 = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "f13 mB20 mT20" | |
}, | |
child: [{ | |
name: "div", | |
child: [{ | |
name: "br" | |
}, { | |
name: "label", | |
html: I18n.getMsg("crm.label.autoresponder.deletecustomviewmessage") + ":" | |
}, { | |
name: "ul", | |
attr: { | |
"class": "points" | |
} | |
}, { | |
name: "label", | |
html: I18n.getMsg("crm.label.autoresponder.redirect") | |
}] | |
}] | |
}); | |
$(createElem1).find(".points").html(liElem), json.arNames.length > 0 && (errCount > 0 && $(createElem1).prepend(Utils.createHTML({ | |
name: "label", | |
html: "................................................................................................................................................" | |
})), htmlBody.appendChild(createElem1), errCount++), liElem = document.createDocumentFragment(), $.each(json.crmSync, function(index, element) { | |
liElem.appendChild(Utils.createHTML({ | |
name: "li", | |
child: [{ | |
name: "span" | |
}], | |
html: $ESAPI.encoder().encodeForHTML(element) | |
})) | |
}); | |
var createElem2 = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "f13 mB20 mT20" | |
}, | |
child: [{ | |
name: "div", | |
child: [{ | |
name: "br" | |
}, { | |
name: "label", | |
html: I18n.getMsg("crm.sync.setting.crm.cv.delete.ass") + ":" | |
}, { | |
name: "ul", | |
attr: { | |
"class": "points" | |
} | |
}, { | |
name: "label", | |
html: I18n.getMsg("crm.sync.setting.crm.cv.redirect") | |
}] | |
}] | |
}); | |
$(createElem2).find(".points").html(liElem), json.crmSync.length > 0 && (errCount > 0 && $(createElem2).prepend(Utils.createHTML({ | |
name: "label", | |
html: "................................................................................................................................................" | |
})), htmlBody.appendChild(createElem2)), $("#combo").css("zIndex", "10"), ZRCommonUtil.createInfoBox({ | |
modalclass: "w550", | |
titleclass: "til warning", | |
title: I18n.getMsg("crm.delete.error"), | |
content: htmlBody, | |
savebtn: I18n.getMsg("crm.button.ok") | |
}), $("input").focus() | |
} | |
}, function() {}), target) | |
}, | |
zcModChangeUrl: function(url) { | |
return url && (url.indexOf("=Candidates") > -1 && (url = url.replace("=Candidates", "=Leads")), url.indexOf("=JobOpenings") > -1 && (url = url.replace("=JobOpenings", "=Potentials")), url.indexOf("=Interviews") > -1 && (url = url.replace("=Interviews", "=Products")), url.indexOf("=Clients") > -1 && (url = url.replace("=Clients", "=Accounts")), url.indexOf("=Assessments") > -1 && (url = url.replace("=Assessments", "=Questionnaires")), url.indexOf("=Departments") > -1 && (url = url.replace("=Departments", "=Accounts"))), url | |
}, | |
zrModChangeUrl: function(url) { | |
if (url && (url.indexOf("=Leads") > -1 && (url = url.replace("=Leads", "=Candidates")), url.indexOf("=Potentials") > -1 && (url = url.replace("=Potentials", "=JobOpenings")), url.indexOf("=Products") > -1 && (url = url.replace("=Products", "=Interviews")), url.indexOf("=Questionnaires") > -1 && (url = url.replace("=Questionnaires", "=Assessments")), url.indexOf("=Accounts") > -1)) { | |
var replaceStr = "=" + ZRCommonUtil.ZCMODULEMAP.Accounts; | |
url = url.replace("=Accounts", replaceStr) | |
} | |
return url | |
}, | |
ajaxUpload: function(url, urlData, callbacks, dataType, synchronous, singleUpload) { | |
$("#ajax_load_tab").show(), singleUpload = void 0 != singleUpload && null != singleUpload ? singleUpload : !1; | |
for (i in dropFiles) { | |
var k = 0; | |
if (dropFiles[i]) | |
for (var j = 0; j < dropFiles[i].length; j++) | |
dropFiles[i][j] && (urlData[i][k] = dropFiles[i][j], k += 1) | |
} | |
var tempCallBacks = { | |
success: function(data) { | |
Utils.showHideLoadingDiv(!1), dropFiles = {}, callbacks.success(data) | |
}, | |
fail: function(data) { | |
Utils.showHideLoadingDiv(!1), callbacks.fail(data) | |
} | |
}; | |
$.ajaxUpload(url, urlData, tempCallBacks, dataType, synchronous, singleUpload) | |
}, | |
ajaxFormSubmit: function(url, urlData, docForm, module, singleUpload, callBackFns) { | |
var params = ZRCommonUtil.formData2Query(docForm, urlData, module, singleUpload), | |
queryParams = formData2QueryString(docForm, module), | |
args = ""; | |
void 0 != queryParams ? (args = queryParams, args += "&newModel=true") : args = "newModel=true"; | |
var postData = Utils.splitStringToObj(args); | |
void 0 != module && (url = url + "?module=" + module); | |
var callbacks = {}; | |
callBackFns && callBackFns.success && callBackFns.fail ? (callbacks.success = callBackFns.success, callbacks.fail = callBackFns.fail) : (callbacks.success = function(data) { | |
$("#ajax_load_tab").hide(), successCallback(data, url, module, args, void 0, void 0, void 0, postData) | |
}, callbacks.fail = function() { | |
$("#ajax_load_tab").hide(), alert(I18n.getMsg("crm.security.error.add.user")) | |
}), singleUpload = void 0 != singleUpload && null != singleUpload ? singleUpload : !1, ZRCommonUtil.ajaxUpload(url, params, callbacks, "html", !1, singleUpload) | |
}, | |
formFile2Query: function(formName, data) { | |
(void 0 == data || null == data) && (data = {}); | |
var inputElem = $("form[name=" + formName + "]").find("input[type=file]"); | |
if ("parserReview" === data.isPRView || "resumeinboxPreview" === data.isPRView) | |
var inputElem = $("#secDiv_Attachment_Information").find("input[type=file]"); | |
return $.each(inputElem, function(i, item) { | |
for (var elem = $(item), name = elem[0].name, fileArr = data.hasOwnProperty(name) ? data[name] : [], el = 0; el < elem.length; el++) | |
fileArr.push(elem[el]); | |
data[name] = fileArr | |
}), data | |
}, | |
formData2Query: function(docForm, data, module) { | |
(void 0 == data || null == data) && (data = {}), data[csrfParamName] = encodeURIComponent(csrfToken), data.newModel = "true"; | |
var formElem, | |
labelchk = "Home"; | |
void 0 != module && (labelchk = module.toUpperCase().substring(0, module.length - 1) + "CF"); | |
var frSettingsForm = void 0 !== docForm.frSettingsForm, | |
re = new RegExp("^" + labelchk), | |
re1 = new RegExp("^comboValue"), | |
tabularRe = new RegExp("^TF_[0-9]{7,21}|^Tabular_[0-9]{7,21}$"); | |
for (i = 0; i < docForm.elements.length; i++) { | |
formElem = docForm.elements[i]; | |
var formName = formElem.name, | |
formValue = formElem.value, | |
ifCondnChkvar = "module" != formName && "gsitesList" != formName && "gsitesName" != formName && "isShareGsite" != formName && "fieldname" != formName && "dateFields" != formName && "fieldlabel" != formName && "fielddatatype" != formName && "picklistFields" != formName && "fieldvalues" != formName && "mapValues" != formName && "fieldName" != formName && "fieldLabel" != formName && "fieldDatatype" != formName && "fieldUitype" != formName && "fieldId" != formName && "fieldTableName" != formName && "fieldLen" != formName && "dtPtn" != formName && "hdnRowStatus1" != formName && "focusid" != formName && formName.indexOf("uiType_") < 0 && "" != formName && "radiobtn" != formName; | |
if (void 0 != module && (ifCondnChkvar = "gsitesList" != formName && "gsitesName" != formName && "isShareGsite" != formName && "fieldname" != formName && "dateFields" != formName && "fieldlabel" != formName && "fielddatatype" != formName && "picklistFields" != formName && "fieldvalues" != formName && "mapValues" != formName && "fieldName" != formName && "fieldLabel" != formName && "fieldDatatype" != formName && "fieldUitype" != formName && "fieldId" != formName && "fieldTableName" != formName && "fieldLen" != formName && "dtPtn" != formName && "hdnRowStatus1" != formName && "focusid" != formName && formName.indexOf("uiType_") < 0 && !re.test(formName) && !re1.test(formName) && !tabularRe.test(formName) && "" != formName), ifCondnChkvar || frSettingsForm) | |
switch (formElem.type) { | |
case "text": | |
case "select-one": | |
case "password": | |
case "textarea": | |
data[formName] = trimBoth(formValue); | |
break; | |
case "hidden": | |
data[formName] = formValue; | |
break; | |
case "checkbox": | |
case "radio": | |
formElem.checked && (data[formName] = "zloginForm" == docForm.name ? encodeURIComponent(formValue) : formValue); | |
break; | |
case "file": | |
for (var currObj = getObj(formName), elem = $(currObj), fileArr = [], el = 0; el < elem.length; el++) | |
fileArr.push(elem[el]); | |
data[formName] = fileArr | |
} | |
} | |
if (frSettingsForm) { | |
var lyteDropDownElements = document.frGlobalSettingsForm.getElementsByTagName("lyte-dropdown"); | |
for (i = 0; i < lyteDropDownElements.length; i++) | |
data[lyteDropDownElements[i].getAttribute("lt-prop-name")] = lyteDropDownElements[i].ltProp("selected") | |
} | |
return data | |
}, | |
ajaxGetMethod: function(urlval, dataval, asyncval, datatype, pastediv, successFunc, failureFunc, showLoading, completeFunc) { | |
showLoading = void 0 != showLoading ? showLoading : !0, showLoading && $("#ajax_load_tab").show(), $.ajax({ | |
type: "GET", | |
url: urlval, | |
dataType: datatype, | |
data: dataval, | |
async: asyncval, | |
complete: completeFunc, | |
success: function(data) { | |
$("#ajax_load_tab").hide(), successFunc(data, pastediv) | |
}, | |
error: function(xhr) { | |
$("#ajax_load_tab").hide(), xhr.status !== crmConstants.errorStatusCode && failureFunc && failureFunc(xhr, pastediv) | |
} | |
}) | |
}, | |
ajaxPostMethod: function(urlval, dataval, asyncval, datatype, pastediv, successFunc, failureFunc, sendPlainData, requesttimeout) { | |
var csrf_Token = ZRCommonUtil.getCookieValue("crmcsr"); | |
1 == sendPlainData ? dataval = dataval + "&" + csrfParamName + "=" + csrfToken : (dataval = ZRCommonUtil.convertStringToJson(dataval), csrf_Token && null != csrf_Token && (dataval[csrfParamName] = csrf_Token)); | |
var prevLoadImg = dataval && dataval.prevLoadImg ? dataval.prevLoadImg : !1; | |
prevLoadImg || Utils.showHideLoadingDiv(!0), $.ajax({ | |
type: "POST", | |
url: urlval, | |
dataType: datatype, | |
timeout: requesttimeout ? requesttimeout : 0, | |
data: dataval, | |
async: asyncval, | |
success: function(data) { | |
Utils.showHideLoadingDiv(!1), successFunc(data, pastediv) | |
}, | |
error: function(xhr) { | |
Utils.showHideLoadingDiv(!1), xhr.status !== crmConstants.errorStatusCode && failureFunc && failureFunc(xhr, pastediv) | |
} | |
}) | |
}, | |
successFunction: function(data, pastediv) { | |
pastediv && pastediv.hide().html(data).show() | |
}, | |
failureFunction: function(xhr, pastediv) { | |
var data = xhr.responseText, | |
json = ZRCommonUtil.convertStringToJson(data); | |
json && json.message && ("failure" === json.message ? data = I18n.getMsg("crm.security.error.add.user") : "iamerror" === json.message && (data = ZRCommonUtil.iamErrorMessage(json.errorObj))), pastediv ? pastediv.hide().html(data).show() : alert(data) | |
}, | |
iamErrorMessage: function(json) { | |
var errorMessage = I18n.getMsg("crm.unable.to.process.request"), | |
errorCode = json.errorCode ? json.errorCode : json.errorObj ? json.errorObj.errorCode : void 0, | |
maxLen = json.maxLen; | |
return errorMessage = "XSS_DETECTED" === errorCode || "UNABLE_TO_PARSE_DATA_TYPE" === errorCode || "EXTRA_PARAM_FOUND" === errorCode || "MORE_THAN_MAX_OCCURANCE" === errorCode || "LESS_THAN_MIN_OCCURANCE" === errorCode ? I18n.getMsg("crm.iam.error.xssdetected") : "MORE_THAN_MAX_LENGTH" === errorCode ? I18n.getMsg("crm.iam.error.morethanmaxlength", [maxLen]) : I18n.getMsg("URL_RULE_NOT_CONFIGURED" === errorCode || "URL_ACTION_PARAM_MISSING" === errorCode || "INVALID_METHOD" === errorCode ? "crm.label.error.message1" : "FILE_SIZE_MORE_THAN_ALLOWED_SIZE" === errorCode ? "zats.error.filesizeismore" : "PATTERN_NOT_MATCHED" === errorCode ? "crm.alert.label.special.characters" : "POST_ONLY_URL" === errorCode ? "crm.unable.to.process.request" : "LESS_THAN_MIN_LENGTH" === errorCode ? "crm.iam.error.lessthanminlength" : "UNMATCHED_FILE_CONTENT_TYPE" === errorCode ? "crm.label.invalid.attach.alert" : "REMOTE_IP_LOCKED" === errorCode || "URL_ROLLING_THROTTLES_LIMIT_EXCEEDED" === errorCode ? "zr.qv.threshold.reached" : "crm.unable.to.process.request") | |
}, | |
getCookieValue: function(cookieName) { | |
for (var cookieStr = document.cookie.split(";"), i = 0; i < cookieStr.length; i++) { | |
var cName = cookieStr[i].split("="); | |
if (cookieName.trim() == cName[0].trim()) | |
return encodeURIComponent(cName[1]) | |
} | |
return null | |
}, | |
fetchScrollData: function(elem) { | |
elem && 0 != elem.length && elem.filter(":visible") && elem.unbind("scroll").bind("scroll", function() { | |
var $this = $(this), | |
data = $this.data("scrolldata"); | |
data = data ? data : {}, data && "string" == typeof data && (data = JSON.parse(data)); | |
var height = this.scrollHeight - $this.height(), | |
scroll = $this.scrollTop(), | |
isScrolledToEnd = scroll >= .8 * height; | |
if (isScrolledToEnd || (data.shownext = "true"), isScrolledToEnd && data && data.shownext && "true" === data.shownext) { | |
var callee = data.callee; | |
if (data.id && data.mode && "filterJobList" === data.mode && $("#loadingimg-" + data.id).show(), void 0 != callee) { | |
var func = "loadMoreData", | |
loadVar = "ISLOADMORE", | |
calleeObj = callee.split("."); | |
2 == calleeObj.length ? (callee = calleeObj[0], func = calleeObj[1]) : 3 == calleeObj.length ? (callee = calleeObj[0], func = calleeObj[1], loadVar = calleeObj[2]) : (callee = data.callee, func = "loadMoreData", loadVar = "ISLOADMORE"), window[callee][loadVar] || (data.isAppend = "true", data.action = "more", window[callee][loadVar] = !0, window[callee][func](data, function() { | |
window[callee][loadVar] = !1 | |
})) | |
} else | |
void 0 != data.customfn && window[data.customfn].apply(this) | |
} | |
data && data.id && data.mode && "filterJobList" === data.mode && $("#loadingimg-" + data.id).attr("style", "display:none !important") | |
}) | |
}, | |
windowScrollData: function(elem) { | |
elem && 0 !== elem.length && $(window).unbind("scroll").bind("scroll", function() { | |
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 50) { | |
var data = elem.data("scrolldata"); | |
data = data ? data : {}, data && "string" == typeof data && (data = JSON.parse(data)), data && data.shownext && "true" === data.shownext && window[data.callee] && !window[data.callee].ISLOADMORE ? (data.isAppend = "true", data.action = "more", window[data.callee].ISLOADMORE = !0, window[data.callee].loadMoreData(data, function() { | |
window[data.callee].ISLOADMORE = !1 | |
})) : data && data.shownext && "true" === data.shownext && data.customfn && window[data.customfn].apply(this) | |
} | |
}) | |
}, | |
autoComplete: function(target, dataVal) { | |
target.find(".ac-block").remove(); | |
var autoPopUpFun, | |
autopopFun = function(ev, tgt) { | |
var params = $(tgt).data("lookup"), | |
currObj = getObj(params.fldName), | |
fldId = params.fldId, | |
id = fldId; | |
if (fldId.indexOf("property(") > -1) | |
try { | |
var prop_pattern = /property\([a-z]+\:(.*[^)])+/i; | |
id = fldId.match(prop_pattern)[1].replace(/[^a-z]/gi, "") | |
} catch (e) { | |
id = (new Date).getTime() | |
} | |
var winName = "Lookup" + id, | |
url = "/recruit/Search.do?searchmodule=" + params.searchmodule + "&fldName=" + params.fldName + "&fldId=" + params.fldId + "&fldLabel=" + params.fldLabel; | |
params.fldValue && (url = url + "&fldValue=" + params.fldValue), params.module && (url = url + "&module=" + params.module), params.potentialid && (url = url + "&potentialId=" + params.potentialid), params.productid && (url = url + "&productId=" + params.productid), params.leadid && (url = url + "&leadId=" + params.leadid), params.productId && (url = url + "&productId=" + params.productId), params.potentialName && (url = url + "&potentialName=" + params.potentialName), openPopUp("lookUpWin", currObj, url, winName, 900, 400, "menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes") | |
}, | |
classStr = void 0 != dataVal.classStr ? dataVal.classStr : "w200", | |
blockClass = void 0 != dataVal.blockClass ? "ac-block " + dataVal.blockClass : "ac-block", | |
inputid = dataVal.inputid, | |
inputname = void 0 != dataVal.inputname ? dataVal.inputname : dataVal.inputid, | |
hiddenid = void 0 != dataVal.hiddenid ? dataVal.hiddenid : dataVal.inputid + "-hidden", | |
emptyId = dataVal.inputid + "-message", | |
hiddenname = void 0 != dataVal.hiddenname ? dataVal.hiddenname : hiddenid, | |
emptyMsg = void 0 != dataVal.emptymsg ? dataVal.emptymsg : I18n.getMsg("crm.potential.addnote.emptymessage"), | |
clearFun = function(ev, tgt, id, hidden, empty) { | |
dataVal.clearFun && (ZRCommonUtil.toggleClearLookupfield(!1, $(this)), dataVal.clearFun(ev, tgt, id, hidden)); | |
var selectedId = $("#" + id); | |
if (selectedId.val("").data("selecteditem", ""), $("#" + hidden).val(""), $("#" + empty).html("").hide(), ZRCommonUtil.toggleClearLookupfield(!1, $("#" + id)), "true" == newUI) { | |
var managerULElem = $("#divmanager"); | |
$("#" + id + "_clear_lookupfield").hide(), $("#span-" + hidden).text(""), $("#compose-jobopening #ul-sesc-entered").hide(), $("#" + inputid + "-err").hide(); | |
var parentId = $(target).get(0).id; | |
if ($("#" + parentId).removeClass("zrc-error-field"), selectedId.show(), selectedId.focus(), selectedId.data("id", ""), "compose-jobopening-list" == id) { | |
var contacts = $("ul#toAddrDetails"), | |
value = $("#compose-client-list-hidden").val(); | |
void 0 !== value && null !== value && 0 !== value.length && void 0 != contacts && ($("#toAddrDetails li").remove(), $("#compose-contacts").hide(), $("#chkAllContacts").hide()) | |
} | |
managerULElem.length && ($("#compose-manager-id").val(""), managerULElem.empty()) | |
} | |
}, | |
dataId = "", | |
dataCID = "", | |
dataLabel = "", | |
lookupModule = "", | |
dataModule = "", | |
datazcqa = "", | |
dataproductId = "", | |
dataleadId = "", | |
datapotentialId = "", | |
datapotentialName = "", | |
newUI = ""; | |
if (void 0 != dataVal && void 0 != dataVal.lookup) { | |
autoPopUpFun = ""; | |
var lookup = dataVal.lookup; | |
void 0 != lookup.from && "changeStatus" == lookup.from && (autoPopUpFun = [{ | |
name: "click", | |
fn: function(event) { | |
crmTemplate.showLookup(event) | |
} | |
}]), dataId = lookup.dataId ? lookup.dataId : "", dataCID = lookup.dataCID ? lookup.dataCID : "", dataLabel = lookup.label ? lookup.label : "", lookupModule = lookup.lookupModule ? lookup.lookupModule : "", dataModule = lookup.module ? lookup.module : ""; | |
var placeholder = lookup.placeholder ? lookup.placeholder : I18n.getMsg("crm.label.search"); | |
datazcqa = lookup.zcqa ? lookup.zcqa : "", dataproductId = lookup.productId ? lookup.productId : "", dataleadId = lookup.leadid ? lookup.leadid : "", datapotentialId = lookup.potentialid ? lookup.potentialid : "", datapotentialName = lookup.potentialName ? lookup.potentialName : "", newUI = lookup.newUI ? lookup.newUI : "" | |
} else | |
autoPopUpFun = [{ | |
name: "click", | |
fn: autopopFun | |
}], dataCID = ""; | |
var errorClass = "cl fL f11", | |
fromArray = ["NotesRL", "subToClient", "ClientJO", "changeStatus"]; | |
void 0 != lookup.from && -1 !== $.inArray(lookup.from, fromArray) && (errorClass = "fL f11 marT5 cB posR ac-error"); | |
var dataColname = void 0 != dataVal && void 0 != dataVal.inputData ? dataVal.inputData.dataColname : "", | |
searchMod = lookupModule; | |
"AssCand" == searchMod ? searchMod = "Leads" : ("AssJob" == searchMod || "ClientPot" == searchMod) && (searchMod = "Potentials"); | |
var triggerLookup = !0; | |
if (void 0 != lookup.triggerLookup && (triggerLookup = lookup.triggerLookup), "true" == newUI) { | |
target.find(".zrc-value").remove(); | |
var divElem = { | |
name: "div", | |
attr: { | |
"class": "zrc-value" | |
}, | |
child: [] | |
}, | |
textboxElem = { | |
name: "input", | |
attr: { | |
type: "text", | |
"class": classStr, | |
id: inputid, | |
name: inputname, | |
"data-colname": dataColname, | |
onfocus: "ZRMailUtil.addFocusElem('" + inputid + "','true')", | |
onblur: "ZRMailUtil.addFocusElem('" + inputid + "','false')", | |
placeholder: placeholder | |
} | |
}; | |
divElem.child.push(textboxElem); | |
var hiddenElem = { | |
name: "input", | |
attr: { | |
type: "hidden", | |
id: hiddenid, | |
name: hiddenname | |
} | |
}; | |
divElem.child.push(hiddenElem); | |
var error_elem = { | |
name: "span", | |
attr: { | |
"class": "zrc-errMsg", | |
id: inputid + "-err", | |
style: "display:none" | |
}, | |
html: I18n.getMsg("crm.social.search.noData") | |
}; | |
divElem.child.push(error_elem); | |
var divElem_Img = { | |
name: "div", | |
attr: { | |
"class": "sesc-right bot5" | |
}, | |
child: [] | |
}; | |
if (void 0 != lookup.from && "jobTemplates" == lookup.from) | |
var imgelem = { | |
name: "img", | |
attr: { | |
style: "width: 17px; height: 19px", | |
src: crmConstants.imgStaticPath + "/spacer.gif", | |
"class": "Accounts-small fR mR5 hIconO", | |
border: "0", | |
"data-lookup": JSON.stringify(dataVal.lookup), | |
id: dataId, | |
"data-cid": dataCID, | |
"data-label": dataLabel, | |
"data-lookup-module": lookupModule, | |
"data-module": dataModule, | |
"data-zcqa": datazcqa + dataCID, | |
"data-productId": dataproductId, | |
"data-leadid": dataleadId, | |
"data-potentialid": datapotentialId, | |
"data-potentialName": datapotentialName | |
}, | |
events: autoPopUpFun | |
}; | |
else | |
var imgelem = { | |
name: "img", | |
attr: { | |
src: crmConstants.imgStaticPath + "/spacer.gif", | |
"class": "fetchClientJo" === dataVal.params.mode || "fetchJoList" === dataVal.params.mode ? "Potentials-small wid20 hei16 opaP5 verAB" : "fetchClientList" === dataVal.params.mode ? "Accounts-small wid20 hei16 opaP5 verAB" : "OwnerNameLookup changeUserIcon", | |
border: "0", | |
"data-lookup": JSON.stringify(dataVal.lookup), | |
id: dataId, | |
"data-cid": dataCID, | |
"data-label": dataLabel, | |
"data-lookup-module": lookupModule, | |
"data-module": dataModule, | |
"data-zcqa": datazcqa + dataCID, | |
"data-productId": dataproductId, | |
"data-leadid": dataleadId, | |
"data-potentialid": datapotentialId, | |
"data-potentialName": datapotentialName | |
}, | |
events: autoPopUpFun | |
}; | |
if (dataVal.params && void 0 != dataVal.params.mode && "fetchJoList" === dataVal.params.mode) | |
var clearlookup = { | |
name: "img", | |
attr: { | |
src: crmConstants.imgStaticPath + "/spacer.gif", | |
"class": "clear_lookupfield verAT disIB marR8", | |
border: "0", | |
id: inputid + "_clear_lookupfield", | |
style: "display:none;" | |
}, | |
events: [{ | |
name: "click", | |
fn: clearFun, | |
args: [inputid, hiddenid, emptyId] | |
}] | |
}; | |
else | |
var clearlookup = { | |
name: "img", | |
attr: { | |
src: crmConstants.imgStaticPath + "/spacer.gif", | |
"class": "fetchClientJo" === dataVal.params.mode ? "clear_lookupfield verAT marR10" : "clear_lookupfield", | |
border: "0", | |
id: inputid + "_clear_lookupfield", | |
style: "display:none;" | |
}, | |
events: [{ | |
name: "click", | |
fn: clearFun, | |
args: [inputid, hiddenid, emptyId] | |
}] | |
}; | |
!dataVal.params || void 0 == dataVal.params.mode || "fetchClientJo" !== dataVal.params.mode && "fetchJoList" !== dataVal.params.mode && "fetchClientList" !== dataVal.params.mode ? (divElem_Img.child.push(imgelem), divElem_Img.child.push(clearlookup)) : (divElem_Img.child.push(clearlookup), divElem_Img.child.push(imgelem)), divElem.child.push(divElem_Img); | |
var createElem = Utils.createHTML(divElem) | |
} else | |
var createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": blockClass | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "text", | |
"class": classStr, | |
id: inputid, | |
name: inputname, | |
"data-colname": dataColname, | |
placeholder: placeholder | |
} | |
}, { | |
name: "input", | |
attr: { | |
type: "hidden", | |
id: hiddenid, | |
name: hiddenname | |
} | |
}, { | |
name: "img", | |
attr: { | |
src: crmConstants.imgStaticPath + "/spacer.gif", | |
"class": "clear_lookupfield cls", | |
border: "0", | |
style: "display:none" | |
}, | |
events: [{ | |
name: "click", | |
fn: clearFun, | |
args: [inputid, hiddenid, emptyId] | |
}] | |
}, { | |
name: "img", | |
attr: { | |
src: crmConstants.imgStaticPath + "/spacer.gif", | |
"class": "Potentials" === searchMod ? "Potentials-small lkup" : "Leads" === searchMod ? "changeUserIcon lkup" : "Accounts" === searchMod ? "Accounts-small lkup hei16 wid16 verAB" : "OwnerNameLookup changeUserIcon Potentials-small lkup", | |
border: "0", | |
"data-lookup": JSON.stringify(dataVal.lookup), | |
id: dataId, | |
"data-cid": dataCID, | |
"data-label": dataLabel, | |
"data-lookup-module": lookupModule, | |
"data-module": dataModule, | |
"data-zcqa": datazcqa + dataCID, | |
"data-productId": dataproductId, | |
"data-leadid": dataleadId, | |
"data-potentialid": datapotentialId, | |
"data-potentialName": datapotentialName | |
}, | |
events: autoPopUpFun | |
}, { | |
name: "p", | |
attr: { | |
"class": errorClass, | |
style: "color:#D42A1C;display:none", | |
id: emptyId | |
}, | |
html: I18n.getMsg("crm.social.search.noData") | |
}] | |
}); | |
target.append(createElem); | |
var urlData = dataVal.params, | |
elem = $("#" + inputid), | |
hiddenElem = $("#" + hiddenid); | |
elem.focus(); | |
var minlength = dataVal.minlength ? dataVal.minlength : 0; | |
minlength = "0" === minlength ? 0 : minlength; | |
var appendElem = dataVal.appendselector ? $(dataVal.appendselector) : elem.parent(), | |
selectFun = function(event, ui) { | |
return dataVal.selectFun && (ZRCommonUtil.toggleClearLookupfield(!0, $(this)), dataVal.selectFun(event, ui)), elem.val(ui.item.label).data("selecteditem", ui.item), hiddenElem.val(ui.item.value), ZRCommonUtil.toggleClearLookupfield(!0, $(this)), !1 | |
}, | |
focusFun = dataVal.focusFun ? dataVal.focusFun : function(event, ui) { | |
return 40 === event.which || 38 === event.which ? (elem.val(ui.item.label).data("selecteditem", ui.item), hiddenElem.val(ui.item.value), !1) : void 0 | |
}, | |
searchFun = dataVal.searchFun ? dataVal.searchFun : void 0, | |
closeFun = dataVal.closeFun ? dataVal.closeFun : function() { | |
$("#" + emptyId).html("").hide() | |
}, | |
openFun = dataVal.openFun ? dataVal.openFun : function() { | |
$("#" + emptyId).html("").hide(), hiddenElem.val("") | |
}, | |
successFun = dataVal.successFun ? dataVal.successFun : void 0, | |
changeFun = dataVal.changeFun ? dataVal.changeFun : void 0, | |
renderFun = function(ul, item) { | |
return dataVal.renderFun && item.label != emptyMsg ? (ul.addClass("maxH200 oveA"), dataVal.renderFun(ul, item)) : item.label == emptyMsg ? $("<li style='pointer-events:none;'>").data("item.autocomplete", item).append($("<a>").text(item.label)).appendTo(ul) : $("<li>").data("item.autocomplete", item).append($("<a>").text(item.label)).appendTo(ul.addClass("maxH200 oveA")) | |
}, | |
asyncVal = !0; | |
if (void 0 != dataVal && void 0 != dataVal.lookup) { | |
var lookup = dataVal.lookup; | |
void 0 != lookup.from && "criteriaEditor" == lookup.from && (asyncVal = void 0 != dataVal.params.async ? dataVal.params.async : asyncVal) | |
} | |
var errorFun = dataVal.errorFun ? dataVal.errorFun : function(xhr) { | |
xhr.responseText; | |
$("#" + emptyId).addClass("pA"), $("#" + emptyId).html(I18n.getMsg("crm.security.error.add.user")).show() | |
}; | |
elem.autocomplete({ | |
source: function(request, response) { | |
urlData = void 0 === urlData || null === urlData ? {} : urlData, urlData.searchtxt = request.term, $.ajax({ | |
url: dataVal.url, | |
dataType: "json", | |
data: urlData, | |
async: asyncVal, | |
success: function(data) { | |
if (void 0 != successFun) | |
successFun(data, response); | |
else { | |
var json = ZRCommonUtil.convertStringToJson(data); | |
if (json && json.message && "success" === json.message) { | |
var list = json.autoList; | |
if (void 0 != list) | |
$("#" + emptyId).html("").hide(), response(list); | |
else { | |
var list = { | |
label: emptyMsg | |
}; | |
response(list) | |
} | |
} | |
} | |
}, | |
error: errorFun | |
}) | |
}, | |
select: selectFun, | |
focus: focusFun, | |
search: searchFun, | |
close: closeFun, | |
open: openFun, | |
change: changeFun, | |
minLength: minlength, | |
appendTo: appendElem | |
}).data("ui-autocomplete")._renderItem = renderFun, elem.keyup(function() { | |
var value = $(this).val(); | |
void 0 === value || null === value || "null" === value || 0 === value.length ? (clearFun(void 0, void 0, inputid, hiddenid, emptyId), ZRCommonUtil.toggleClearLookupfield(!1, $(this))) : ZRCommonUtil.toggleClearLookupfield(!0, $(this)) | |
}), elem.click(function() { | |
$(this).parent("div").find(".ui-autocomplete").is(":hidden") && $(this).autocomplete("search", $(this).val()) | |
}), triggerLookup && elem.autocomplete("search") | |
}, | |
onCcandBcc: function(elem, dataVal) { | |
var urlData = dataVal.params, | |
minlength = dataVal.minlength ? dataVal.minlength : 1, | |
inputId = $(elem).attr("id"), | |
noData = !0; | |
void 0 === inputId && (inputId = "autoCompleteCC", $(elem).attr("id", inputId)); | |
var doNotShowContacts = dataVal.doNotShowContacts, | |
inputName = $(elem).attr("name"); | |
doNotShowContacts && inputName && ("ccAddress-dummy" === inputName || "bccAdress-dummy" === inputName) && (inputId = inputName.substring(0, inputName.lastIndexOf("-"))); | |
var hiddenId = void 0 != dataVal.hiddenId ? dataVal.hiddenId : inputId + "-hidden"; | |
doNotShowContacts && inputId && ("compose-client-cc-dummy" === inputId || "compose-client-bcc-dummy" === inputId) && (hiddenId = inputId.substring(0, inputId.lastIndexOf("-"))); | |
var hiddenElem = $("#" + hiddenId), | |
emptyId = dataVal.inputid + "-message", | |
fromIndex = void 0 != dataVal.fromIndex ? dataVal.fromIndex : 0, | |
toIndex = void 0 != dataVal.toIndex ? dataVal.toIndex : 5, | |
allowSingleMailOnly = void 0 != dataVal.allowSingleMailOnly ? dataVal.allowSingleMailOnly : !1; | |
!doNotShowContacts || "ccAddress" !== inputName && "bccAddress" !== inputName || 0 !== $("#" + inputName + "-hidden").length || (inputId = inputName, $(elem).attr("name", inputId + "-dummy"), hiddenElem = Utils.createHTML({ | |
name: "input", | |
attr: { | |
type: "hidden", | |
id: inputId + "-hidden", | |
name: inputName | |
} | |
}), hiddenId = inputId + "-hidden", $(elem).after(hiddenElem)), !doNotShowContacts || "compose-client-cc" !== inputId && "compose-client-bcc" !== inputId || 0 !== $("#" + inputId + "-dummy").length || ($(elem).attr("id", inputId + "-dummy"), hiddenElem = Utils.createHTML({ | |
name: "input", | |
attr: { | |
type: "hidden", | |
id: inputId | |
} | |
}), hiddenId = inputId, $(elem).after(hiddenElem)); | |
var selectFun = dataVal.selectFun ? dataVal.selectFun : function(event, ul) { | |
if (doNotShowContacts && (ul.item.value = ul.item.email, ul.item.email = ul.item.label), allowSingleMailOnly === !0) | |
$(elem).val(""), $(elem).blur(function() { | |
$(elem).val(ul.item.email) | |
}), $(elem).focus(function() { | |
$(elem).val(ul.item.email + ",") | |
}); | |
else { | |
var entityData = $(elem).val(), | |
hiddenData = $("#" + hiddenId).val(); | |
-1 === entityData.indexOf(",") ? ($(elem).val(ul.item.email + ","), $("#" + hiddenId).attr("value", ul.item.value + ",")) : ($(elem).val(entityData.substring(0, entityData.lastIndexOf(",") + 1) + ul.item.email + ","), hiddenData && $("#" + hiddenId).attr("value", hiddenData.substring(0, hiddenData.lastIndexOf(",") + 1) + ul.item.value + ",")) | |
} | |
return $(elem).focus().val($(elem).val()), !1 | |
}, | |
focusFun = dataVal.focusFun ? dataVal.focusFun : function(event, ui) { | |
var entityData = $(elem).val(); | |
return !ui.item || 40 !== event.which && 38 !== event.which ? void 0 : (doNotShowContacts ? elem.val(entityData.substr(0, entityData.lastIndexOf(",") + 1) + ui.item.label).data("selecteditem", ui.item) : elem.val(entityData.substr(0, entityData.lastIndexOf(",") + 1) + ui.item.email).data("selecteditem", ui.item), !1) | |
}, | |
searchFun = dataVal.searchFun ? dataVal.searchFun : void 0, | |
closeFun = dataVal.closeFun ? dataVal.closeFun : void 0, | |
openFun = dataVal.openFun ? dataVal.openFun : function() { | |
noData && $(".ui-autocomplete").css("display", "none") | |
}, | |
errorFun = dataVal.errorFun ? dataVal.errorFun : function(xhr) { | |
xhr.responseText; | |
$("#" + emptyId).html(I18n.getMsg("crm.security.error.add.user")).show() | |
}, | |
renderFun = dataVal.renderFun ? dataVal.renderFun : function(ul, item) { | |
return doNotShowContacts && "Contacts" === item.module ? $("<li>").data("item.autocomplete", item).append('<a><span class="zrc-pic32"><img class="zrc-pic" src="' + encodeURI(item.photoUrl) + '"></span><span class="name">' + $ESAPI.encoder().encodeForHTML(item.label) + '</span><span class="email"> </span></a>').appendTo(ul.addClass("zrc-profile-list")) : $("<li>").data("item.autocomplete", item).append('<a><span class="zrc-pic32"><img class="zrc-pic" src="' + encodeURI(item.photoUrl) + '"></span><span class="name">' + $ESAPI.encoder().encodeForHTML(item.label) + '</span><span class="email">' + $ESAPI.encoder().encodeForHTML(item.email) + "</span></a>").appendTo(ul.addClass("zrc-profile-list")) | |
}, | |
successFun = dataVal.successFun ? dataVal.successFun : function(data, response) { | |
var json = ZRCommonUtil.convertStringToJson(data); | |
if (json && json.message && "success" === json.message) { | |
var list = json.autoList; | |
json.doNotShowContacts === !0 && (doNotShowContacts = !0), void 0 != list ? response(list) : $(".ui-autocomplete").css("display", "none") | |
} | |
}, | |
changeFun = dataVal.changeFun ? dataVal.changeFun : void 0, | |
renderMenuFun = dataVal.renderMenuFun ? dataVal.renderMenuFun : function(ul, items) { | |
var curModule, | |
self = this, | |
selectedVals = $(elem).val(), | |
selectedValsArr = selectedVals.split(","); | |
noData = !0, $.each(items, function(index, item) { | |
var checkForExist = item.email; | |
doNotShowContacts && (checkForExist = item.label), -1 == $.inArray(checkForExist, selectedValsArr) && (item.module != curModule && (ul.append('<li class="hdng"><a>' + $ESAPI.encoder().encodeForHTML(item.module) + "</a></li>"), curModule = item.module), self._renderItemData(ul, item), noData = !1) | |
}) | |
}, | |
autocomp = $(elem).autocomplete({ | |
source: function(request, response) { | |
urlData = void 0 === urlData || null === urlData ? {} : urlData; | |
var searchTxt = request.term, | |
searchArr = searchTxt.split(","); | |
urlData.searchtxt = null != searchArr ? searchArr[searchArr.length - 1] : request.term, urlData.fromindex = fromIndex, urlData.toindex = toIndex, $.ajax({ | |
url: dataVal.url, | |
dataType: "json", | |
data: urlData, | |
success: function(data) { | |
successFun(data, response) | |
}, | |
error: errorFun | |
}) | |
}, | |
select: selectFun, | |
focus: focusFun, | |
search: searchFun, | |
close: closeFun, | |
open: openFun, | |
change: changeFun, | |
minLength: minlength | |
}); | |
autocomp.data("ui-autocomplete")._renderMenu = renderMenuFun, autocomp.data("ui-autocomplete")._renderItem = renderFun | |
}, | |
openDialog: function(divId) { | |
var elemId = $(divId); | |
if (elemId && 0 !== elemId.length) { | |
var removeFreeze = elemId.data("removefreeze") === !1 ? !1 : !0; | |
if (removeFreeze) { | |
$("#bg-light").remove(); | |
var oFreezeLayer = document.createElement("div"); | |
oFreezeLayer.id = "bg-light", oFreezeLayer.className = "bg-dark", document.body.appendChild(oFreezeLayer) | |
} | |
ZRCommonUtil.elementPosition(elemId) | |
} | |
}, | |
createModal: function(params) { | |
params = ZRCommonUtil.convertStringToJson(params); | |
var mailNotificationPopUp = params && params.mailNotificationPopUp ? params.mailNotificationPopUp : void 0, | |
modalClass = params && params.modalclass ? "zcrm-modal zcrm-effect zcrm-show p0 " + params.modalclass : "zcrm-modal zcrm-effect zcrm-show wid700 p0", | |
divId = params && params.modalid ? params.modalid : "modal-block", | |
btnId = divId ? divId + "-btn" : "modal-block-btn", | |
title = params && params.title ? params.title : "", | |
description = params && params.description ? params.description : "", | |
descClass = params && params.descclass ? "poptitle-desc " + params.descclass : "poptitle-desc", | |
content = params && params.content ? params.content : "", | |
saveBtn = params && params.savebtn ? params.savebtn : I18n.getMsg("crm.button.save"), | |
cancelBtn = params && params.cancelbtn ? params.cancelbtn : I18n.getMsg("crm.button.cancel"), | |
saveBtnClass = params && params.saveclass ? params.saveclass : "primarybtn", | |
cancelBtnClass = params && params.cancelclass ? params.cancelclass : "newgraybtn marL15", | |
savefn = params && params.savefn ? params.savefn : void 0, | |
savearg = params && params.savearg ? params.savearg : [], | |
cancelfn = params && params.cancelfn ? params.cancelfn : function(ev, target) { | |
if (mailNotificationPopUp) { | |
var closeDiv = $(target).parents(".zrc-popup-modal").attr("id"); | |
ZRCommonUtil.closeDialog(ev, target, "#" + closeDiv) | |
} else { | |
var closeDiv = $(target).parents(".zcrm-modal").attr("id"); | |
ZRCommonUtil.closeDialog(ev, target, "#" + closeDiv) | |
} | |
}, | |
closefn = params && params.closefn ? params.closefn : cancelfn, | |
cancelarg = params && params.cancelarg ? params.cancelarg : [], | |
callback = params && params.callback ? params.callback : void 0, | |
callbackarg = params && params.callbackarg ? params.callbackarg : void 0, | |
removefreeze = params && void 0 != params.removefreeze ? params.removefreeze : !0, | |
dialog = params && params.dialog ? params.dialog : "remove", | |
datazcqasave = params && params.zcqasave ? params.zcqasave : "savezcqa", | |
datazcqacancel = params && params.zcqacancel ? params.zcqacancel : "cancelzcqa", | |
removeCancelBtn = params && void 0 != params.removecancelbtn ? params.removecancelbtn : !1, | |
needCrossBtn = params && void 0 != params.needCrossBtn ? params.needCrossBtn : !1, | |
toRemove = params && void 0 != params.removeElem ? params.removeElem : !1, | |
headerClass = params && void 0 != params.hideHeader && params.hideHeader === !0 ? " disN" : "", | |
contentClass = params && void 0 != params.contentClass ? params.contentClass : "", | |
footerClass = params && void 0 != params.footerClass ? params.footerClass : "", | |
escapefn = params && params.escapefn ? params.escapefn : void 0, | |
helpUrlKey = params && params.helpurlkey ? params.helpurlkey : void 0, | |
crossBtnClass = params && params.crossBtnClass ? params.crossBtnClass : "close-modal zrc-icon-closeb top24 tranSP8", | |
helpUrlTag = {}; | |
helpUrlKey && crmConstants.helpUrl[helpUrlKey] && (helpUrlTag = { | |
name: "div", | |
attr: { | |
"class": "helplnk" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"data-zcqa": "lnk_nt_help", | |
id: "context-helplink", | |
"class": "toplink", | |
href: "javascript:;" | |
}, | |
events: [{ | |
name: "click", | |
fn: function() { | |
openHelp(crmConstants.helpUrl["help.domain.url"] + crmConstants.helpUrl[helpUrlKey]) | |
} | |
}], | |
html: I18n.getMsg("crm.label.context.help") | |
}] | |
}); | |
var cancelBtn = { | |
name: "input", | |
attr: { | |
type: "button", | |
"class": cancelBtnClass, | |
"data-zcqa": datazcqacancel, | |
value: cancelBtn | |
}, | |
html: cancelBtn, | |
events: [{ | |
name: "click", | |
fn: cancelfn, | |
args: cancelarg | |
}] | |
}; | |
removeCancelBtn && (cancelBtn = {}); | |
var closeATag = {}; | |
needCrossBtn && (closeATag = { | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": crossBtnClass | |
}, | |
events: [{ | |
name: "click", | |
fn: closefn | |
}] | |
}); | |
var createElem; | |
mailNotificationPopUp ? (modalClass = params && params.popupclass ? params.popupclass : "zrc-popup-modal zrc-popup-show p0 w1000 ppTop showPpTop", createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": modalClass, | |
id: divId, | |
"data-removefreeze": removefreeze, | |
"data-dialog": dialog, | |
tabindex: "1" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "zrc-close-popup", | |
href: "javascript:;" | |
}, | |
events: [{ | |
name: "click", | |
fn: cancelfn, | |
args: cancelarg | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "zrc-popup-container" | |
}, | |
child: [{ | |
name: "div", | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "popup-model-header f21 proximal bxShTp" + headerClass | |
}, | |
html: title, | |
child: [{ | |
name: "span", | |
attr: { | |
"class": descClass | |
}, | |
html: description | |
}] | |
}, closeATag, helpUrlTag] | |
}, { | |
name: "div", | |
attr: { | |
"class": "popup-model-content " + contentClass | |
}, | |
html: content | |
}, { | |
name: "div", | |
attr: { | |
"class": "popup-model-footer " + footerClass, | |
id: btnId | |
}, | |
child: [cancelBtn, { | |
name: "input", | |
attr: { | |
type: "button", | |
"class": saveBtnClass, | |
"data-zcqa": datazcqasave, | |
value: saveBtn | |
}, | |
html: saveBtn, | |
events: [{ | |
name: "click", | |
fn: savefn, | |
args: savearg | |
}] | |
}] | |
}] | |
}] | |
})) : createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": modalClass, | |
id: divId, | |
"data-removefreeze": removefreeze, | |
"data-dialog": dialog, | |
tabindex: "1" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "zcrm-content boxSN" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "popup-model-header f21 proximal bxShTp" + headerClass | |
}, | |
html: title, | |
child: [{ | |
name: "span", | |
attr: { | |
"class": descClass | |
}, | |
html: description | |
}] | |
}, closeATag, helpUrlTag] | |
}, { | |
name: "div", | |
attr: { | |
"class": "popup-model-content " + contentClass | |
}, | |
html: content | |
}, { | |
name: "div", | |
attr: { | |
"class": "popup-model-footer " + footerClass, | |
id: btnId | |
}, | |
child: [cancelBtn, { | |
name: "input", | |
attr: { | |
type: "button", | |
"class": saveBtnClass, | |
"data-zcqa": datazcqasave, | |
value: saveBtn | |
}, | |
html: saveBtn, | |
events: [{ | |
name: "click", | |
fn: savefn, | |
args: savearg | |
}] | |
}] | |
}] | |
}), params.appendTo && $(params.appendTo).length > 0 ? $(params.appendTo).append(createElem) : $("body").append(createElem), crmui.showPop(divId, !1, toRemove, escapefn), $("#" + divId).focus(), "status-block" != divId && "org_modal" !== divId && "client-login-email-compose" !== divId && Utils.bindChosen($("#" + divId + " select")), callback && callback(callbackarg) | |
}, | |
checkCustomDomainURL: function(URL) { | |
var customURL = URL, | |
urlregex = new RegExp(/^(ht|f)tps?:\/\/[a-zA-Z0-9-\.]+\.[a-z]{2,20}(\/[^\s<>%"\,;\\|\\\^\[\]`]+)?$/); | |
return urlregex.test(customURL) ? !0 : !1 | |
}, | |
checkDomainName: function(name) { | |
var urlregex = new RegExp("^[a-zA-Z0-9]+$"); | |
return urlregex.test(name) ? !0 : !1 | |
}, | |
isNumericKeyCode: function(event) { | |
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; | |
return keyCode >= 48 && 57 >= keyCode || 8 == keyCode || 189 == keyCode || 32 == keyCode || keyCode >= 96 && 105 >= keyCode | |
}, | |
isAlphaKeyCode: function(event) { | |
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; | |
return keyCode >= 65 && 90 >= keyCode || 8 == keyCode || 32 == keyCode || 190 == keyCode | |
}, | |
isValidEmail: function(email) { | |
var regex = /^[a-zA-Z0-9_]([\w\-\.\+\']*)@([\w\-\.]*)(\.[a-zA-Z]{2,22}(\.[a-zA-Z]{2}){0,2})$/; | |
return email.match(regex) | |
}, | |
createInfoBox: function(params) { | |
params = ZRCommonUtil.convertStringToJson(params); | |
var modalClass = params && params.modalclass ? "zpopup-modal zpopup-animate-modal " + params.modalclass : "zpopup-modal zpopup-animate-modal zwid600", | |
divId = params && params.modalid ? params.modalid : "modal-block", | |
title = params && params.title ? params.title : "", | |
content = params && params.content ? params.content : "", | |
titleClass = params && params.titleclass ? params.titleclass : ZRCommonUtil.isEmpty(content) ? "til msg" : "ic", | |
savefn = params && params.savefn ? params.savefn : function(ev, target) { | |
var closeDiv = $(target).parents(".zpopup-modal").attr("id"); | |
ZRCommonUtil.closeDialog(ev, target, "#" + closeDiv) | |
}, | |
savearg = params && params.savearg ? params.savearg : [], | |
saveBtn = params && params.savebtn ? params.savebtn : I18n.getMsg("crm.button.ok"), | |
callback = params && params.callback ? params.callback : void 0, | |
removefreeze = params && void 0 != params.removefreeze ? params.removefreeze : !0; | |
if (removefreeze) { | |
var ispoponpop = params && params.ispoponpop ? params.ispoponpop : !1; | |
ispoponpop && (removefreeze = !1) | |
} | |
var createElem, | |
dialog = params && params.dialog ? params.dialog : "remove", | |
isNewPop = params && params.isNew ? params.isNew : !1; | |
if (isNewPop) { | |
var saveBtnClass = params && params.saveclass ? params.saveclass : "primarybtn", | |
messageType = params && params.messageType ? params.messageType : "success", | |
buttonclass = "", | |
iconclass = ""; | |
switch (messageType) { | |
case "success": | |
iconclass = "zrc-icon-tickm", buttonclass = "zrc-btn-primary marR0"; | |
break; | |
case "warning": | |
iconclass = "zrc-icon-warningm", buttonclass = "zrc-btn-secondary zrc-popup-close"; | |
break; | |
case "info": | |
iconclass = "zrc-icon-infom", buttonclass = "zrc-btn-primary marR0"; | |
break; | |
case "error": | |
iconclass = "zrc-icon-errorm", buttonclass = "zrc-btn-negative marR0" | |
} | |
var popBtns, | |
makeConfirmationBox = params && params.makeConfirmationBox ? params.makeConfirmationBox : !1; | |
if (makeConfirmationBox) { | |
var noBtn = params && params.nobutton ? params.nobutton : I18n.getMsg("crm.button.close"); | |
popBtns = [{ | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "zrc-btn-secondary zrc-popup-close" | |
}, | |
events: [{ | |
name: "click", | |
fn: params.cancelCallee, | |
args: params.cancelArgs | |
}], | |
text: noBtn | |
}, { | |
name: "a", | |
attr: { | |
"class": buttonclass, | |
href: "javascript:void(0)" | |
}, | |
events: [{ | |
name: "click", | |
fn: params.callee, | |
args: params.args | |
}], | |
text: saveBtn + " " | |
}] | |
} else | |
popBtns = [{ | |
name: "input", | |
attr: { | |
type: "button", | |
"class": buttonclass, | |
value: saveBtn | |
}, | |
events: [{ | |
name: "click", | |
fn: savefn, | |
args: savearg | |
}] | |
}]; | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": modalClass, | |
id: divId, | |
"data-removefreeze": removefreeze, | |
"data-dialog": dialog | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "zpopup-modal-container clearfix" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "pop-wrapper zrc-custom-cheackbox clearfix mT0" | |
}, | |
child: [{ | |
name: "p", | |
attr: { | |
"class": "f15" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
style: "text-align:center;" | |
}, | |
child: [{ | |
name: "div", | |
child: [{ | |
name: "span", | |
attr: { | |
"class": iconclass | |
} | |
}] | |
}, { | |
name: "div", | |
attr: { | |
id: "warningMsg", | |
"class": "f21 marT20" | |
}, | |
html: title | |
}, { | |
name: "p", | |
attr: { | |
"class": "marT20 colG1 linH22 proRE" | |
}, | |
html: content | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": " mT20 padT4 marB10 texAC", | |
"data-zcqa": "info-box-ok" | |
}, | |
child: popBtns | |
}] | |
}] | |
}] | |
}) | |
} else { | |
var saveBtnClass = params && params.saveclass ? params.saveclass : "newgreybtn mL5"; | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": modalClass, | |
id: divId, | |
"data-removefreeze": removefreeze, | |
"data-dialog": dialog | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "zpopup-modal-container clearfix" | |
}, | |
child: [{ | |
name: "h2", | |
attr: { | |
"class": titleClass | |
}, | |
html: title | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
"class": "zcp-cls" | |
}, | |
events: [{ | |
name: "click", | |
fn: savefn, | |
args: savearg | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "pop-wrapper zrc-custom-cheackbox clearfix mT0" | |
}, | |
child: [{ | |
name: "p", | |
attr: { | |
"class": "f15" | |
}, | |
html: content | |
}, { | |
name: "div", | |
attr: { | |
"class": "mT25 texAC", | |
"data-zcqa": "info-box-ok" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "button", | |
"class": saveBtnClass, | |
value: saveBtn | |
}, | |
events: [{ | |
name: "click", | |
fn: savefn, | |
args: savearg | |
}] | |
}] | |
}] | |
}] | |
}] | |
}) | |
} | |
$("body").append(createElem), ZRCommonUtil.showInfoBox(divId), callback && callback() | |
}, | |
showInfoBox: function(ids) { | |
("none" === $("#FreezeLayer").css("display") || 0 == $("#FreezeLayer").length) && (freezeBackground(), $("#FreezeLayer").hide(), $("#FreezeLayer").fadeIn()), setTimeout(function() { | |
$("#" + ids).addClass("zpopup-show") | |
}, 0) | |
}, | |
createConfirmationBox: function(params) { | |
params = ZRCommonUtil.convertStringToJson(params); | |
var modalClass = params && params.modalclass ? "zpopup-modal zpopup-animate-modal " + params.modalclass : "zpopup-modal zpopup-animate-modal w350", | |
divId = params && params.modalid ? params.modalid : "modal-block", | |
title = params && params.title ? params.title : "", | |
content = params && params.content ? params.content : "", | |
titleClass = ZRCommonUtil.isEmpty(content) ? "til msg" : "ic", | |
savefn = params && params.savefn ? params.savefn : function(ev, target) { | |
var closeDiv = $(target).parents(".zpopup-modal").attr("id"); | |
ZRCommonUtil.closeDialog(ev, target, "#" + closeDiv) | |
}, | |
savearg = params && params.savearg ? params.savearg : [], | |
saveBtnClass = params && params.saveclass ? params.saveclass : "redbtn", | |
saveBtn = params && params.savebtn ? params.savebtn : I18n.getMsg("Delete"), | |
cancelBtn = params && params.cancelbtn ? params.cancelbtn : I18n.getMsg("crm.button.cancel"), | |
cancelBtnClass = params && params.cancelclass ? params.cancelclass : "newgreybtn mL5", | |
cancelfn = params && params.cancelfn ? params.cancelfn : function(ev, target) { | |
var closeDiv = $(target).parents(".zpopup-modal").attr("id"); | |
ZRCommonUtil.closeDialog(ev, target, "#" + closeDiv) | |
}, | |
cancelarg = params && params.cancelarg ? params.cancelarg : [], | |
callback = params && params.callback ? params.callback : void 0, | |
removefreeze = params && params.removefreeze ? params.removefreeze : !0, | |
dialog = params && params.dialog ? params.dialog : "remove", | |
datazcqasave = params && params.zcqasave ? params.zcqasave : "btn_confirm_ok", | |
datazcqacancel = params && params.zcqacancel ? params.zcqacancel : "btn_confirm_cancel", | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": modalClass, | |
id: divId, | |
"data-removefreeze": removefreeze, | |
"data-dialog": dialog | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "zpopup-modal-container clearfix" | |
}, | |
child: [{ | |
name: "h2", | |
attr: { | |
"class": titleClass | |
}, | |
html: title | |
}, { | |
name: "div", | |
attr: { | |
"class": "pop-wrapper zrc-custom-cheackbox clearfix mT0" | |
}, | |
child: [{ | |
name: "p", | |
attr: { | |
"class": "f15" | |
}, | |
html: content | |
}, { | |
name: "div", | |
attr: { | |
"class": "mT25 texAC", | |
"data-zcqa": "info-box-ok" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "button", | |
"class": saveBtnClass, | |
"data-zcqa": datazcqasave, | |
value: saveBtn | |
}, | |
events: [{ | |
name: "click", | |
fn: savefn, | |
args: savearg | |
}] | |
}, { | |
name: "input", | |
attr: { | |
type: "button", | |
"class": cancelBtnClass, | |
"data-zcqa": datazcqacancel, | |
value: cancelBtn | |
}, | |
events: [{ | |
name: "click", | |
fn: cancelfn, | |
args: cancelarg | |
}] | |
}] | |
}] | |
}] | |
}] | |
}); | |
$("body").append(createElem), ZRCommonUtil.showInfoBox(divId), callback && callback() | |
}, | |
openModal: function(divId) { | |
var elemId = $(divId); | |
if (elemId && 0 !== elemId.length) { | |
var removeFreeze = elemId.data("removefreeze") === !1 ? !1 : !0; | |
if (removeFreeze) { | |
$("#bg-light").remove(); | |
var oFreezeLayer = document.createElement("div"); | |
oFreezeLayer.id = "bg-light", oFreezeLayer.className = "bg-dark", document.body.appendChild(oFreezeLayer) | |
} | |
elemId.show() | |
} | |
}, | |
reportSorting: function(url) { | |
url += "&clickId=CustomReport", Crm.isPageLoad = !0, crmReports.loadBodyContent(void 0, url) | |
}, | |
removeFreeze: function() { | |
var scrid = document.getElementById("bg-light"); | |
scrid && document.body.removeChild(scrid); | |
var id = document.getElementById("bg-dark"); | |
id && document.body.removeChild(id); | |
var newFreezeLayer = document.getElementById("FreezeLayer"); | |
newFreezeLayer && document.body.removeChild(newFreezeLayer) | |
}, | |
createFreeze: function() { | |
$("#bg-light").remove(); | |
var oFreezeLayer = document.createElement("div"); | |
oFreezeLayer.id = "bg-light", oFreezeLayer.className = "bg-dark", document.body.appendChild(oFreezeLayer) | |
}, | |
closeDialog: function(ev, target, divId) { | |
if (divId) { | |
var elem = $(divId); | |
if (elem && 0 !== elem.length) { | |
var removeFreeze = elem.data("removefreeze") === !1 ? !1 : !0; | |
removeFreeze && ZRCommonUtil.removeFreeze(); | |
var isHide = "hide" === elem.data("dialog") ? !0 : !1; | |
isHide ? elem.hide() : elem.remove() | |
} | |
elem.hasClass("zpopup-show") && elem.removeClass("zpopup-show") | |
} | |
}, | |
elementPosition: function(elem) { | |
var sTop = document.documentElement.scrollTop || document.body.scrollTop, | |
sLeft = document.documentElement.scrollLeft || document.body.scrollLeft; | |
if ($(window).height() > elem.height()) | |
elem.css({ | |
display: "block", | |
position: "absolute", | |
left: "50%", | |
top: "50%", | |
"margin-left": -(elem.width() / 2) + sLeft, | |
"margin-top": -(elem.height() / 2) + sTop | |
}); | |
else { | |
var tP = sTop + 10; | |
elem.css({ | |
display: "block", | |
position: "absolute", | |
left: "50%", | |
top: tP, | |
"margin-left": -(elem.width() / 2) + sLeft, | |
"margin-top": "0px" | |
}) | |
} | |
}, | |
getPopoverPosition: function(targetElement) { | |
if (0 != targetElement.length) { | |
var positionData = ZRCommonUtil.convertStringToJson(targetElement.data("positiondata")), | |
modalElem = $(positionData.modal), | |
pmodalElem = $(positionData.pmodal), | |
scrollElem = $(positionData.scroll), | |
placement = positionData.placement; | |
placement = placement ? placement : "left"; | |
var pos = ZRCommonUtil.getPosition(targetElement), | |
actualWidth = 0 != modalElem.length ? modalElem[0].offsetWidth : 0, | |
actualHeight = 0 != modalElem.length ? modalElem[0].offsetHeight : 0, | |
scrollElemTop = 0 != scrollElem.length ? scrollElem[0].scrollTop : 0; | |
pos.top = pos.top - scrollElemTop; | |
var tp, | |
pmodalTop = 0 != pmodalElem.length ? ZRCommonUtil.getPosition(pmodalElem).top + 15 : 0; | |
switch (placement) { | |
case "bottom": | |
pos.top = pos.top + pos.height, pos.left = pos.left + pos.width / 2 - actualWidth / 2; | |
var arrowTop = actualWidth / 2 - pos.width / 2; | |
tp = { | |
top: pos.top < 0 ? pmodalTop : pmodalTop > pos.top ? pmodalTop : pos.top, | |
left: pos.left - 10, | |
arrowPos: pos.top < 0 ? arrowTop + pos.top - pmodalTop : pmodalTop > pos.top ? arrowTop - (pmodalTop - pos.top) : arrowTop | |
}; | |
break; | |
case "top": | |
pos.top = pos.top - actualHeight, pos.left = pos.left + pos.width / 2 - actualWidth / 2; | |
var arrowTop = actualWidth / 2 - pos.width / 2; | |
tp = { | |
top: pos.top < 0 ? pmodalTop : pmodalTop > pos.top ? pmodalTop : pos.top, | |
left: pos.left - 10, | |
arrowPos: pos.top < 0 ? arrowTop + pos.top - pmodalTop : pmodalTop > pos.top ? arrowTop - (pmodalTop - pos.top) : arrowTop | |
}; | |
break; | |
case "left": | |
pos.top = pos.top + pos.height / 2 - actualHeight / 2, pos.left = pos.left - actualWidth; | |
var arrowTop = actualHeight / 2 - pos.height / 2; | |
tp = { | |
top: pos.top < 0 ? pmodalTop : pmodalTop > pos.top ? pmodalTop : pos.top, | |
left: pos.left - 10, | |
arrowPos: pos.top < 0 ? arrowTop + pos.top - pmodalTop : pmodalTop > pos.top ? arrowTop - (pmodalTop - pos.top) : arrowTop | |
}; | |
break; | |
case "right": | |
pos.top = pos.top + pos.height / 2 - actualHeight / 2, pos.left = pos.left + pos.width; | |
var arrowTop = actualHeight / 2 - pos.height / 2; | |
tp = { | |
top: pos.top < 0 ? pmodalTop : pmodalTop > pos.top ? pmodalTop : pos.top, | |
left: pos.left + 10, | |
arrowPos: pos.top < 0 ? arrowTop + pos.top - pmodalTop : pmodalTop > pos.top ? arrowTop - (pmodalTop - pos.top) : arrowTop | |
}; | |
break; | |
case "adjustable": | |
var diff = pos.top + actualHeight - $(window).height(), | |
arrowTop = actualHeight / 2 - pos.height / 2; | |
diff > 0 ? (pos.top = pos.top - diff, arrowTop = diff) : pos.top = pos.top + pos.height / 2 - actualHeight / 2, arrowTop = pos.top < 0 ? arrowTop + pos.top - pmodalTop : pmodalTop > pos.top ? arrowTop - (pmodalTop - pos.top) : arrowTop, pos.left = pos.left - actualWidth, tp = { | |
top: pos.top < 0 ? pmodalTop : pmodalTop > pos.top ? pmodalTop : pos.top, | |
left: pos.left - 10, | |
arrowPos: arrowTop | |
}; | |
break; | |
case "rightadjustable": | |
var diff = pos.top + actualHeight - $(window).height(), | |
arrowTop = actualHeight / 2 - pos.height / 2; | |
diff > 0 ? (pos.top = pos.top - diff, arrowTop = diff) : pos.top = pos.top + pos.height / 2 - actualHeight / 2, arrowTop = pos.top < 0 ? arrowTop + pos.top - pmodalTop : pmodalTop > pos.top ? arrowTop - (pmodalTop - pos.top) : arrowTop, pos.left = pos.left + pos.width, tp = { | |
top: pos.top < 0 ? pmodalTop : pmodalTop > pos.top ? pmodalTop : pos.top, | |
left: pos.left + 10, | |
arrowPos: arrowTop | |
} | |
} | |
return tp | |
} | |
}, | |
getPosition: function(element) { | |
element = void 0 !== element && "object" == typeof element && element.length > 0 ? element[0] : element; | |
var elementPos = element.getBoundingClientRect(), | |
left = Math.round(elementPos.left), | |
top = Math.round(elementPos.top), | |
right = Math.round(elementPos.right), | |
bottom = Math.round(elementPos.bottom); | |
return { | |
left: left, | |
top: top, | |
right: right, | |
bottom: bottom, | |
width: element.offsetWidth, | |
height: element.offsetHeight | |
} | |
}, | |
divPositionValue: function(divId) { | |
var newValue = {}, | |
windowHeight = $(window).height(), | |
windowWidth = $(window).width(), | |
scrollTop = $(document).scrollTop(), | |
scrollLeft = $(document).scrollLeft(), | |
divHeight = $(divId).height(), | |
divWidth = $(divId).width(), | |
topPos = new Number(scrollTop) + (new Number(windowHeight) / 2 - new Number(divHeight) / 2), | |
leftPos = new Number(scrollLeft) + (new Number(windowWidth / 2) - new Number(divWidth) / 2); | |
return newValue.leftLen = (leftPos > 0 ? leftPos : 0) + "px", newValue.topLen = (topPos > 0 ? topPos : 0) + "px", newValue | |
}, | |
setToCenterOfParent: function(obj, parentObj) { | |
var newValue = {}, | |
height = $(obj).height(), | |
width = $(obj).width(); | |
return parentObj == window ? (newValue.top = $(parentObj).height() / 2 - height / 2, newValue.left = $(parentObj).width() / 2 - width / 2) : (newValue.top = $(parentObj).height() / 2 - height / 2 + $(parentObj).position().top, newValue.left = $(parentObj).width() / 2 - width / 2 + $(parentObj).position().left), newValue | |
}, | |
trim: function(str) { | |
var value = ""; | |
return void 0 != str && null != str && 0 != str.length && (value = str.replace(/^\s+|\s+$/g, "")), value | |
}, | |
isEmpty: function(value) { | |
if ("string" == typeof value) { | |
if (value && null != value && "null" != value && 0 != value.trim().length) | |
return !1 | |
} else { | |
if ("object" == typeof value) | |
return $.isEmptyObject(value); | |
if (value && null != value) | |
return !1 | |
} | |
return !0 | |
}, | |
contains: function(arrList, value, type) { | |
type = void 0 === type || 0 === type.length ? "String" : type; | |
var isContains = !1; | |
return void 0 !== value && void 0 !== arrList && $.each(arrList, function(i, data) { | |
"String" === type ? data.trim().toLowerCase() === value.trim().toLowerCase() && (isContains = !0) : data === value && (isContains = !0) | |
}), isContains | |
}, | |
convertStringToJson: function(json) { | |
return json = json ? json : {}, json && "string" == typeof json && (json = JSON.parse(json)), json | |
}, | |
attachMoreUpload: function(ev, target, callbackFun) { | |
var fileElem = $(target), | |
name = fileElem.attr("name"), | |
attachDetail = fileElem.data("attachdetail"); | |
"string" == typeof data && (attachDetail = JSON.parse(data)); | |
var fileList = $(fileElem)[0].files; | |
if (fileList.length > 1) | |
$.each(fileList, function(i, file) { | |
var fileName = file.name, | |
fileSize = parseInt(file.size / 1024); | |
callbackFun && callbackFun(fileName, attachDetail, name, fileSize) | |
}); | |
else { | |
var file = fileList[0], | |
fileName = file.name, | |
fileSize = parseInt(file.size / 1024); | |
callbackFun && callbackFun(fileName, attachDetail, name, fileSize) | |
} | |
}, | |
changeSubject: function() { | |
var tempId = document.getElementById("templateId").value, | |
check = !1, | |
tempModule = ""; | |
if ("None" != tempId) { | |
var index = tempId.split("~")[1], | |
subject = $("#template" + index).data("subject"); | |
tempModule = $("#module").val(); | |
var emailTempId = tempId.split("~")[0]; | |
if ("Leads" === tempModule) { | |
var desc = ""; | |
if (emailTempId && null != emailTempId) { | |
var urlData = {}; | |
urlData.emailTemplateId = emailTempId, urlData.step = "getEmailTemplateBody", ZRCommonUtil.ajaxGetMethod("/recruit/Template.do", urlData, !1, "html", void 0, function(data) { | |
desc = data && null != data && "Empty" != data ? data : "" | |
}, function() { | |
ZRCommonUtil.displayErrorMsg("gSErrorMsg", I18n.getMsg("crm.fr.unknown")) | |
}) | |
} | |
if (desc.indexOf("${Job Openings.") > -1 || subject.indexOf("${Job Openings.") > -1) { | |
if (ZRCommonUtil.FILTERJOBID && "" != ZRCommonUtil.FILTERJOBID && "Unassociated" != ZRCommonUtil.FILTERJOBID) { | |
var joName = ZRCommonUtil.FILTERJOBNAME && "" != ZRCommonUtil.FILTERJOBNAME && "Unassociated" != ZRCommonUtil.FILTERJOBNAME ? ZRCommonUtil.FILTERJOBNAME : "", | |
joId = ZRCommonUtil.FILTERJOBID && "" != ZRCommonUtil.FILTERJOBID && "Unassociated" != ZRCommonUtil.FILTERJOBID ? ZRCommonUtil.FILTERJOBID : "", | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "ac-block" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "text", | |
"class": "pd w350 inpt", | |
id: "compose-jobopening-list", | |
name: "compose-jobopening-list", | |
value: joName, | |
readonly: "readonly" | |
} | |
}, { | |
name: "input", | |
attr: { | |
type: "hidden", | |
id: "compose-jobopening-list-hidden", | |
name: "compose-jobopening-list-hidden", | |
value: joId, | |
readonly: "readonly" | |
} | |
}] | |
}); | |
$("#compose-jobopening-div").append(createElem) | |
} else { | |
{ | |
var elem = $("#compose-jobopening-div"), | |
lookData = { | |
dataId: "compose-jobopening-list_img", | |
dataCID: "showLookup", | |
fldName: "compose-jobopening-list", | |
fldId: "compose-jobopening-list-hidden", | |
label: "compose-jobopening-list", | |
lookupModule: "Potentials", | |
placeholder: I18n.getMsg("crm.ss.search.module", Handlebars.helpers.getCrmModuleInfo("Potentials")), | |
module: "Leads" | |
}; | |
$("#compose-jobopening-list") | |
} | |
ZRCommonUtil.autoComplete(elem, { | |
url: "/recruit/GetJoList.do", | |
params: { | |
mode: "fetchJoList" | |
}, | |
inputid: "compose-jobopening-list", | |
classStr: "pd w350 inpt", | |
blockClass: "wd", | |
selectFun: function(event, ui) { | |
var inputElem = $("#compose-jobopening-list"); | |
return inputElem.val(ui.item.label).data("selecteditem", ui.item), $("#compose-jobopening-list-hidden").val(ui.item.value), $("input[name=subject]").focus(), !1 | |
}, | |
lookup: lookData | |
}) | |
} | |
document.getElementsByClassName("compose-jobopening")[0].style.display = "", ("" == ZRCommonUtil.FILTERJOBID || "Unassociated" == ZRCommonUtil.FILTERJOBID) && (document.getElementsByClassName("compose-jobopening")[1].style.display = "") | |
} else | |
check = !0 | |
} | |
$("#insertTemplateDetail").empty(), document.getElementById("insertTemplateDetail").innerHTML = "<p class='mL10'>" + subject + "</p>" | |
} else | |
$("#insertTemplateDetail").empty(), document.getElementById("insertTemplateDetail").innerHTML = "<p class='mL10'>-<fmt:message key='Select Email Template'/>-</p>", check = !0; | |
check && "Leads" === tempModule && (document.getElementsByClassName("compose-jobopening")[0].style.display = "none", document.getElementsByClassName("compose-jobopening")[1].style.display = "none", $("#compose-jobopening-div").empty(), $("#associate").prop("checked", !1)) | |
}, | |
createAttachFileForManualTrigger: function(fileName, attachDetail) { | |
var attachId = attachDetail.attachid, | |
count = attachDetail.count, | |
isBulk = attachDetail.isbulk, | |
newcount = parseInt(count) + 1, | |
idStr = "MTAttachmentID_" + newcount; | |
if (fileName = ZRFileUtil.getFileName(fileName), !ZRCommonUtil.isEmpty(fileName)) { | |
var dotObj = ZRFileUtil.getAttachDotVal(fileName, "20"); | |
fileName = dotObj.dotVal; | |
var titleStr = dotObj.title; | |
if (isBulk && "true" === isBulk) { | |
var elem = Utils.createHTML({ | |
name: "span", | |
attr: { | |
"data-tf": "attach", | |
"data-attach": JSON.stringify(attachDetail), | |
"class": "fil attach-list new-attach", | |
title: titleStr | |
}, | |
html: fileName, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
onclick: "ManualTrigger.deleteThisEmail(this);" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.removeAttachment", | |
args: [attachId, count] | |
}], | |
html: "x" | |
}] | |
}); | |
$(".nsm-attach-category").prepend(elem); | |
var attachDetails = '{"attachid":"' + idStr + '","count":' + newcount + ',"isbulk":"true"}', | |
attachElem = Utils.createHTML({ | |
name: "input", | |
attr: { | |
style: "opacity: 0;", | |
type: "file", | |
name: "manualTriggerAttachment_" + newcount, | |
onchange: "ZRCommonUtil.attachMoreUpload(undefined, this, ZRCommonUtil.createAttachFileForManualTrigger)", | |
"data-attachdetail": attachDetails, | |
id: idStr, | |
"class": "file-hide" | |
} | |
}); | |
$("#" + attachId).hide(), $(".zrc-file-block").append(attachElem) | |
} else { | |
var elem = Utils.createHTML({ | |
name: "span", | |
attr: { | |
"data-tf": "attach", | |
"data-attach": JSON.stringify(attachDetail), | |
"class": "fil attach-list new-attach", | |
title: titleStr | |
}, | |
html: fileName, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
onclick: "ManualTrigger.deleteThisEmail(this);" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.removeAttachment", | |
args: [attachId, count] | |
}], | |
html: "x" | |
}] | |
}); | |
$(".nsm-attach-category").prepend(elem) | |
} | |
} | |
}, | |
constructAttachFile: function(fileName, attachDetail, inpName) { | |
var attachId = attachDetail.attachid, | |
count = attachDetail.count, | |
isBulk = attachDetail.isbulk, | |
newcount = parseInt(count) + 1, | |
moreAttachMsg = I18n.getMsg("crm.createform.section.attachmore"); | |
"false" === isBulk && (2 == $("#theFile_" + attachId).children("span").length && $("#theFile_label_" + attachId).find("a").click(), moreAttachMsg = I18n.getMsg("crm.createform.section.browse")); | |
var idStr = "theFile_inp_" + attachId + "_" + newcount; | |
if (fileName = ZRFileUtil.getFileName(fileName), !ZRCommonUtil.isEmpty(fileName)) { | |
var dotObj = ZRFileUtil.getAttachDotVal(fileName, "20"); | |
fileName = dotObj.dotVal; | |
var titleStr = dotObj.title, | |
elem = Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "attach-file-list btn-chosen-value", | |
title: titleStr | |
}, | |
text: fileName, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:void(0)" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.removeAttachment", | |
args: [attachId, count] | |
}], | |
html: "×" | |
}] | |
}); | |
$("#theFile_label_" + attachId).append(elem); | |
var attachElem = Utils.createHTML({ | |
name: "span", | |
attr: { | |
id: idStr | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": " btn-chosen-file cus-file" | |
}, | |
html: moreAttachMsg, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.triggerAttachClick" | |
}] | |
}, { | |
name: "input", | |
attr: { | |
"class": "file-hide", | |
style: "display:none", | |
uitype: "uploadfile", | |
"data-attachdetail": '{"attachid":"' + attachId + '", "count":"' + newcount + '", "isbulk":"' + isBulk + '"}', | |
type: "file", | |
name: inpName | |
}, | |
events: [{ | |
name: "change", | |
fn: "ZRCommonUtil.attachMoreUpload", | |
args: [ZRCommonUtil.constructAttachFile] | |
}] | |
}] | |
}); | |
$("#theFile_" + attachId).append(attachElem), $("#" + idStr).siblings().hide() | |
} | |
}, | |
removeAttachment: function(ev, target, attachId, count) { | |
$(target).parent().remove(), $("#theFile_inp_" + attachId + "_" + count).remove(); | |
var childElem = $("#theFile_" + attachId).children(); | |
1 == childElem.length && childElem.children("a.cus-file").html(I18n.getMsg("crm.createform.section.browse")) | |
}, | |
getDotVal: function(value, len) { | |
var obj = {}, | |
dotVal = value, | |
objLen = parseInt(len), | |
titleStr = ""; | |
return value && null != value && "null" != value && value.length > objLen && (dotVal = value.substring(0, objLen), dotVal += "...", titleStr = value), obj.dotVal = dotVal, obj.title = titleStr, obj | |
}, | |
scrollTo: function(elem, fast) { | |
fast = void 0 != fast ? fast : !1, $("html,body").animate({ | |
scrollTop: elem.offset().top | |
}, fast ? "fast" : "slow") | |
}, | |
openSaveAdvSearch: function() { | |
$(".attach-type-pop").remove(); | |
var createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "attach-type-pop", | |
style: "display:none;" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "zrc-icon-closeb close-confirm top20", | |
href: "javascript:void(0);" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.closeDialog", | |
args: [".attach-type-pop"] | |
}] | |
}, { | |
name: "h4", | |
attr: { | |
"class": "pop-heading" | |
}, | |
html: I18n.getMsg("tab.candidates.advancesearch.search.savesearch") | |
}, { | |
name: "p", | |
child: [{ | |
name: "label", | |
html: I18n.getMsg("tab.candidates.advancesearch.search.save") + ":" | |
}, { | |
name: "input", | |
attr: { | |
id: "saveSearchName", | |
name: "saveSearchName", | |
type: "text", | |
value: "", | |
"class": "textareachk", | |
"data-textarea": '{"maxlength": 100, "minlength": 50, "disablebtn": "advance_search_add"}' | |
} | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "btns-block mt50" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "primarybtn", | |
id: "advance_search_add" | |
}, | |
html: I18n.getMsg("crm.button.add"), | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.saveNewAdvSearch" | |
}] | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "newwhitebtn" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.closeDialog", | |
args: [".attach-type-pop"] | |
}], | |
html: I18n.getMsg("Cancel") | |
}] | |
}] | |
}); | |
$("body").after(createElem), ZRCommonUtil.openDialog(".attach-type-pop"), $("#saveSearchName").focus() | |
}, | |
saveAdvSearch: function() { | |
if (document.CreateCustomViewForm && document.CreateCustomViewForm.customviewname) { | |
var searchName = $("#saveSearchName").val(); | |
document.CreateCustomViewForm.customviewname.value = searchName | |
} | |
emptyCheck("customviewname", I18n.getMsg("tab.candidates.advancesearch.search.save")) && document.CreateCustomViewForm && ("true" === document.CreateCustomViewForm.isSearch.value ? validate(!1, !0, void 0, "10") : validate(!1, !0)) | |
}, | |
saveNewAdvSearch: function() { | |
var searchName = $("#saveSearchName"); | |
if (emptyCheck(searchName.attr("name"), I18n.getMsg("tab.candidates.advancesearch.search.save"))) { | |
var reg = /[^~`#%^&*()+={}[\]|\;"<>\\]/g, | |
splChars = getClrTxtPtnResChars(searchName.val(), reg); | |
if ("hidden" != searchName.type && "" != splChars) { | |
var fldProp = I18n.getMsg("crm.label.view.name"); | |
return alert(1 == splChars.length ? I18n.getMsg("crm.clearTextPattern.validationFail.alert", [fldProp, splChars]) : I18n.getMsg("crm.clearTextPattern.validationFail.alert.moreThanOneChar", [fldProp, splChars])), !1 | |
} | |
if (void 0 != searchName.val() && searchName.val().length > 50) | |
return alert(I18n.getMsg("crm.customview.alert.length")), !1; | |
var state = History.getState(), | |
dataObj = state.data; | |
for (var key in dataObj) | |
dataObj[key] = decodeURIComponent(dataObj[key]); | |
dataObj && dataObj.moduleName && ("Tasks" == dataObj.moduleName || "Events" == dataObj.moduleName || "Calls" == dataObj.moduleName) && (dataObj.module = "Activities"), "true" == dataObj.isSearch && (dataObj.customviewname = searchName.val(), doAjaxUpdate("saveAdvSearch", "/recruit/CreateCustomView.do", dataObj, function() { | |
crmTab.deleteFromCache(dataObj.module), Crm.addToHistory(void 0, void 0, { | |
clickId: "tab", | |
module: dataObj.module, | |
calleeObj: "crmTab", | |
clearCache: "true" | |
}) | |
})) | |
} | |
}, | |
parserOnClick: function(id) { | |
$("#" + id).click() | |
}, | |
importXLSOnClick: function() { | |
var fileObject = $("#btn_UploadImportFile")[0].files[0], | |
shrinkedName = ZRCommonUtil.getDotVal(fileObject.name, 25), | |
size = ZRComponent.formatBytes(fileObject.size), | |
fileNameWithSize = shrinkedName.dotVal + " <span>" + size + "</span> <a class='import-close' href='javascript:;' title='Remove' onclick='javascript:ZRCommonUtil.removeAddedFile(this)'>×</a>"; | |
$(".selectedFileBlk").html(fileNameWithSize).show().addClass("focus-line") | |
}, | |
removeAddedFile: function(self) { | |
$("#btn_UploadImportFile").val(""), $(self).parent().html(" "), $(".selectedFileBlk").removeClass("focus-line") | |
}, | |
isValidWebUrl: function(fldLabel, url, isAlertNeed) { | |
if ("" === url) | |
return !0; | |
var httpProtocol = "http", | |
httpsProtocol = "https", | |
urlregex = new RegExp("^(" + httpProtocol + ":\\/\\/www.|" + httpsProtocol + ":\\/\\/www.|ftp:\\/\\/www.|www.|" + httpProtocol + ":\\/\\/|" + httpsProtocol + ":\\/\\/|ftp:\\/\\/|){1}[a-zA-Z0-9--ÿ]+(\\.[a-zA-Z0-9-\\_\\#\\:\\;\\?]+)+(/[\\w-\\;\\-\\*\\._\\?\\,\\:\\'/\\\\\\+&%\\$#\\(\\)\\=~@-ÿ]*)*$"); | |
if (urlregex.test(url)) | |
return !0; | |
if (void 0 == isAlertNeed || 1 == isAlertNeed) { | |
var replacedFldLabel = fldLabel.replace(/_____/g, ")").replace(/____/g, "(").replace(/___/g, "."); | |
alert(I18n.getValueForFields("crm.field.valid.check", replacedFldLabel)) | |
} | |
return !1 | |
}, | |
showAdvSearchQuery: function(isSearchBar) { | |
if (isSearchBar && "true" === isSearchBar) | |
return ZRCommonUtil.showHideSearchPopOver($(this)), void sE(event); | |
var state = History.getState(), | |
params = state.data; | |
for (var key in params) | |
params[key] = decodeURIComponent(params[key]); | |
params.clickId = "CreateCV", params.action = "searchAgain", params.calleeObj = "Crm", "true" == params.isSearch && Crm.addToHistory(void 0, void 0, params) | |
}, | |
fetchRecList: function(startLimit, rangeValue, sortCol, newAdvSearch, isTlinePrevOrNext, isQVPrevOrNext) { | |
if (startLimit && null != startLimit && void 0 != startLimit && "" != startLimit && "null" != startLimit && (document.CreateCustomViewForm && document.CreateCustomViewForm.startLimit ? document.CreateCustomViewForm.startLimit.value = startLimit : document.showcvdetails && document.showcvdetails.startLimit && (document.showcvdetails.startLimit.value = startLimit)), rangeValue && null != rangeValue && void 0 != rangeValue && "" != rangeValue && "null" != rangeValue && (document.CreateCustomViewForm && document.CreateCustomViewForm.range ? document.CreateCustomViewForm.range.value = rangeValue : document.showcvdetails && document.showcvdetails.range && (document.showcvdetails.range.value = rangeValue, document.showcvdetails.OnSelect && (document.showcvdetails.OnSelect.value = !0))), sortCol && null != sortCol && void 0 != sortCol && "" != sortCol && "null" != sortCol) | |
if (document.CreateCustomViewForm && document.CreateCustomViewForm.sortColumnString) { | |
var oldSortCol = document.CreateCustomViewForm.sortColumnString.value, | |
oldSortOrder = document.CreateCustomViewForm.sortOrderString.value; | |
oldSortCol && oldSortCol == sortCol && (document.CreateCustomViewForm.sortOrderString.value = oldSortOrder && "sort_desc" == oldSortOrder ? "sort_asc" : "sort_desc"), document.CreateCustomViewForm.sortColumnString.value = sortCol | |
} else if (document.showcvdetails && document.showcvdetails.sortColumnString) { | |
var oldSortCol = document.showcvdetails.sortColumnString.value, | |
oldSortOrder = document.showcvdetails.sortOrderString.value; | |
oldSortCol && oldSortCol == sortCol && (document.showcvdetails.sortOrderString.value = oldSortOrder && "sort_desc" == oldSortOrder ? "sort_asc" : "sort_desc"), document.showcvdetails.sortColumnString.value = sortCol | |
} | |
var module = $("#module").val(); | |
if (module || (module = "Leads"), document.CreateCustomViewForm) | |
validate(!0, void 0, void 0, "10"); | |
else if ("true" === newAdvSearch) { | |
var module = $("#module").val(), | |
searchString = $("#gsearchTextBox").val(), | |
sortOrderString = $('[name="sortOrderString"]').val(); | |
("" == sortCol || "undefined" == sortCol) && (sortCol = $('input[name="sortColumnString"]').val()), ("" == rangeValue || "undefined" == rangeValue) && (rangeValue = $('input[name="range"]').val()); | |
var postData = "moduleName=" + module + "&allKeywordSearch=" + encodeURIComponent(searchString) + "&isSearch=true&actionName=create&allFields=1¬esOnly=1&searchType=2&isSearchBar=true&sortOrderString=" + sortOrderString + "&sortColumnString=" + sortCol; | |
("Leads" === module || "Candidates" === module) && (postData += "&resumeOnly=1&otherAttachments=0", ("jobfilter" == ZRCommonUtil.FILTERRECORDS || "asspopout" == ZRCommonUtil.FILTERRECORDS) && (postData = postData + "&filterrecords=" + ZRCommonUtil.FILTERRECORDS + "&jobId=" + ZRCommonUtil.FILTERJOBID + "&status=" + ZRCommonUtil.FILTERCANDSTATUS + "&jobtitle=" + ZRCommonUtil.FILTERJOBNAME)), postData = postData + "&startLimit=" + startLimit + "&range=" + rangeValue, postData = postData + "&" + Territory.csrf(); | |
var resObj = Utils.splitStringToObj(postData); | |
resObj.clickId = "advSearchResult", resObj.calleeObj = "Crm", isTlinePrevOrNext && (resObj.tlinePrevOrNext = isTlinePrevOrNext), isQVPrevOrNext && (resObj.qvPrevOrNext = isQVPrevOrNext), Crm.addToHistory(void 0, void 0, resObj) | |
} else { | |
var postData = formData2QueryString(document.showcvdetails); | |
"Leads" != module || "jobfilter" != ZRCommonUtil.FILTERRECORDS && "asspopout" != ZRCommonUtil.FILTERRECORDS || (postData = postData + "filterrecords=" + ZRCommonUtil.FILTERRECORDS + "&jobId=" + ZRCommonUtil.FILTERJOBID + "&status=" + ZRCommonUtil.FILTERCANDSTATUS + "&jobtitle=" + ZRCommonUtil.FILTERJOBNAME), doAjaxUpdate("advSearchResult", "/recruit/ShowSelectedCustomView.do?module=" + module + "&isload=false", postData, void 0, !0) | |
} | |
}, | |
printPreviewDivContent: function(divId) { | |
var divContentsElem = $("#" + divId); | |
divContentsElem.find("input[name=chk]").remove(), divContentsElem.find("input[name=allcheck]").remove(); | |
var divContents = divContentsElem.html(), | |
printWindow = window.open("", "", "height=400,width=800"); | |
printWindow.document.write("<html><head><title>DIV Contents</title>"), printWindow.document.write("</head><body >"), printWindow.document.write("<link href='" + crmConstants.cssStaticPath + "/crmcontemporary.css' rel='stylesheet' type='text/css'>"), printWindow.document.write("<link href='" + crmConstants.cssStaticPath + "/recruit-style.css' rel='stylesheet' type='text/css'>"), printWindow.document.write("<link href='" + crmConstants.cssStaticPath + "/recruit-jobboards.css' rel='stylesheet' type='text/css'>"), printWindow.document.write("<div align='center'><input type='button' onclick='window.print()' value='Print Page' class='blueBtn' name='Print'> <input type='button' onclick='window.close()' value='Close' class='blueBtn' name='Close'></div>"), printWindow.document.write("<div class='advance-search-result'>"), printWindow.document.write(divContents), printWindow.document.write("</div>"), printWindow.document.write("<div align='center'><input type='button' onclick='window.print()' value='Print Page' class='blueBtn' name='Print'> <input type='button' onclick='window.close()' value='Close' class='blueBtn' name='Close'></div>"), printWindow.document.write("</body></html>"), printWindow.document.close() | |
}, | |
fetchNaviSearchDetail: function(obj) { | |
var isSearch = obj.isSearch; | |
if (isSearch && ("true" == isSearch || 1 == isSearch)) { | |
var fetchRecordId = obj.id, | |
naviDataArrLen = parseInt(0), | |
naviDataArrIter = ""; | |
naviDataArr && "" != naviDataArr.trim() && (naviDataArrIter = naviDataArr.split(","), naviDataArrLen = naviDataArrIter.length); | |
var prevRecord = "0", | |
nextRecord = "0"; | |
if (0 == naviDataArrLen) | |
return void ZRCommonUtil.fetchNaviData(obj, naviDataArrIter, naviDataArrLen, prevRecord, nextRecord, 0); | |
for (var i = 0; naviDataArrLen > i; i++) { | |
var tempId = naviDataArrIter[i]; | |
if (tempId && "undefined" != tempId && null != tempId && "null" != tempId && "" != tempId.trim() && fetchRecordId && "undefined" != fetchRecordId && null != fetchRecordId && "null" != fetchRecordId && "" != fetchRecordId.trim() && fetchRecordId == tempId) { | |
naviDataArrLen == i + 1 ? ZRCommonUtil.fetchNaviData(obj, naviDataArrIter, naviDataArrLen, prevRecord, nextRecord, i) : (naviDataArrLen - 1 > i && (nextRecord = naviDataArrIter[i + 1]), i > 0 && (prevRecord = naviDataArrIter[i - 1]), obj.nextRecord = "" + nextRecord, obj.prevRecord = "" + prevRecord, obj.isRecSearch = "true"); | |
break | |
} | |
} | |
} | |
}, | |
fetchNaviData: function(obj, naviDataArrIter, naviDataArrLen, prevRecord, nextRecord, i) { | |
if (void 0 != naviAdvDataUrl && "" != naviAdvDataUrl) { | |
obj && "Search Results" === obj.toolTip && "/recruit/ShowDetails.do" === naviAdvDataUrl && (naviAdvDataUrl = "/recruit/GSearch.do"); | |
var urlToFetch = naviAdvDataUrl + "?" + decodeURIComponent(naviAdvDataParams), | |
parsedUrlObj = Utils.parseUrl(urlToFetch), | |
paramsObj = parsedUrlObj.params, | |
urlData = {}; | |
if (void 0 != paramsObj) { | |
paramsObj.startLimit = naviDataArrLen + 1, paramsObj.range = 100, paramsObj.module = obj.module, paramsObj.sModules && (paramsObj.sModules = obj.module), paramsObj.searchCategory && (paramsObj.searchCategory = ""), paramsObj.fetchPkOnly = "true"; | |
for (var key in paramsObj) | |
null != typeof paramsObj[key] && "" != typeof paramsObj[key] && "undefined" != typeof paramsObj[key] && (urlData[key] = paramsObj[key]) | |
} else | |
urlData.startLimit = naviDataArrLen + 1, urlData.range = "100", urlData.module = obj.module, urlData.fetchPkOnly = "true"; | |
("jobfilter" == ZRCommonUtil.FILTERRECORDS || "asspopout" == ZRCommonUtil.FILTERRECORDS) && (urlData.filterrecords = ZRCommonUtil.FILTERRECORDS, urlData.jobId = ZRCommonUtil.FILTERJOBID, urlData.status = ZRCommonUtil.FILTERCANDSTATUS, urlData.jobtitle = ZRCommonUtil.FILTERJOBNAME), ZRCommonUtil.ajaxPostMethod(naviAdvDataUrl, urlData, !1, "html", void 0, function(data) { | |
void 0 != naviDataArr && "" == naviDataArr ? naviDataArr = data : void 0 != naviDataArr && -1 == naviDataArr.indexOf(data) && (naviDataArr = naviDataArr + "," + data), naviDataArr && "" != naviDataArr.trim() && (naviDataArrIter = naviDataArr.split(","), naviDataArrLen = naviDataArrIter.length), naviDataArrLen - 1 > i && (nextRecord = naviDataArrIter[i + 1]), i > 0 && (prevRecord = naviDataArrIter[i - 1]), obj.nextRecord = "" + nextRecord, obj.prevRecord = "" + prevRecord, obj.isRecSearch = "true" | |
}, function() {}) | |
} | |
}, | |
triggerAttachClick: function(ev, target) { | |
var attachLimitsTD = $(target).closest("td"); | |
if (attachLimitsTD) { | |
var attachLimitDetails = $(attachLimitsTD).data("attachLimitDetails"); | |
if (attachLimitDetails) { | |
var attachLimit = parseInt(attachLimitDetails.attachLimit), | |
attachCount = (attachLimitDetails.checkLimit, $(".attach-file-list").length); | |
attachCount >= attachLimit ? alert(I18n.getMsg("crm.templateedit.attach.limit", attachLimit)) : $(target).next(".file-hide").click() | |
} else | |
$(target).next(".file-hide").click() | |
} else | |
$(target).next(".file-hide").click() | |
}, | |
preventDefault: function(event) { | |
event = event || window.event, event.preventDefault && event.preventDefault(), event.returnValue = !1 | |
}, | |
showSuccessMessage: function(successMsg, timeDelay) { | |
crmui.showMsgBand("success", successMsg, void 0 != timeDelay && timeDelay >= 3e3 ? timeDelay : 5e3) | |
}, | |
openConfirmationAlert: function(params, callee, args, cancelCallee, cancelArgs) { | |
var isNewPop = params && params.isNew ? params.isNew : !1; | |
if (isNewPop) | |
return params.callee = callee, params.args = args, params.cancelCallee = cancelCallee ? cancelCallee : "ZRCommonUtil.closeDialog", params.cancelArgs = cancelArgs ? cancelArgs : [".zpopup-modal"], params.makeConfirmationBox = !0, void ZRCommonUtil.createInfoBox(params); | |
cancelCallee || (cancelCallee = "ZRCommonUtil.closeDialog", cancelArgs = [".delete-confirm"]); | |
var removefreeze = params && params.removefreeze ? params.removefreeze : !0, | |
dialog = params && params.dialog ? params.dialog : "remove", | |
title = params && params.title ? params.title : I18n.getMsg("crm.image.delete.confirm"), | |
content = params && params.content ? params.content : "", | |
yesBtn = params && params.yesbutton ? params.yesbutton : I18n.getMsg("crm.button.ok"), | |
noBtn = params && params.nobutton ? params.nobutton : I18n.getMsg("crm.button.close"), | |
yesBtnClass = params && params.yesclass ? params.yesclass : "primarybtn", | |
classname = params && params.classname ? "delete-confirm bsd " + params.classname : "delete-confirm bsd", | |
headerTag = params && params.headerTag ? params.headerTag : "h4", | |
headerClass = params && params.headerClass ? params.headerClass : "delete-confirm-title", | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": classname, | |
"data-removefreeze": removefreeze, | |
"data-dialog": dialog | |
}, | |
child: [{ | |
name: headerTag, | |
attr: { | |
"class": headerClass | |
}, | |
html: title | |
}, { | |
name: "div", | |
html: content | |
}, { | |
name: "div", | |
attr: { | |
"class": "delete-btns-block mT50" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": yesBtnClass, | |
href: "javascript:void(0)" | |
}, | |
events: [{ | |
name: "click", | |
fn: callee, | |
args: args | |
}], | |
html: yesBtn + " " | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "newgreybtn" | |
}, | |
events: [{ | |
name: "click", | |
fn: cancelCallee, | |
args: cancelArgs | |
}], | |
html: noBtn | |
}] | |
}] | |
}); | |
$("body").append(createElem), ZRCommonUtil.openDialog(".delete-confirm") | |
}, | |
applyNameSort: function(json, keyName) { | |
json && keyName && json.length <= 100 && json.sort(function(a, b) { | |
var nameA = a[keyName].toLowerCase(), | |
nameB = b[keyName].toLowerCase(); | |
return nameB > nameA ? -1 : nameA > nameB ? 1 : 0 | |
}) | |
}, | |
getPickListValue: function(params, callbackFun, errorFun) { | |
var urlData = "fieldid=" + params.fieldid + "&mode=combovalue&module=" + params.module; | |
ZRCommonUtil.ajaxGetMethod("/recruit/getPicklistValue.do", urlData, !1, "html", void 0, function(json) { | |
json = ZRCommonUtil.convertStringToJson(json), callbackFun && callbackFun(json) | |
}, function(xhr) { | |
var json = ZRCommonUtil.convertStringToJson(xhr.responseText); | |
errorFun && errorFun(json) | |
}) | |
}, | |
massUpdate: function(params, callbackFun, errorFun) { | |
var urlData = {}; | |
urlData.module = params.module, urlData.mode = "massupdate", urlData.fieldid = params.fieldid, urlData.fieldvalue = params.fieldvalue, urlData.pkid = params.pkid, urlData.action = params.action, urlData.fromindex = params.fromindex, urlData.filterby = params.filterby, urlData.jobid = params.jobid, urlData.searchtxt = params.searchtxt, ZRCommonUtil.ajaxPostMethod("/recruit/MassUpdateFieldValue.do", urlData, !1, "html", void 0, function(json) { | |
json = ZRCommonUtil.convertStringToJson(json), callbackFun && callbackFun(json) | |
}, function(xhr, pasteDiv) { | |
errorFun ? errorFun(xhr, pasteDiv) : ZRCommonUtil.failureFunction(xhr, pasteDiv) | |
}) | |
}, | |
getTemplateDetail: function(templateId, callbackFun, errorFun) { | |
var selectedClient = $('input[name="compose-client-list-hidden"]').val(), | |
urlData = void 0, | |
bulkMail = void 0; | |
selectedClient ? urlData = "templateid=" + templateId + "&mode=getTemplateDetail&selectedClient=" + selectedClient : (urlData = "templateid=" + templateId + "&mode=getTemplateDetail", bulkMail = $("#mailsource").val(), void 0 != bulkMail && (urlData = urlData + "&bulkMail=" + bulkMail)), ZRCommonUtil.ajaxGetMethod("/recruit/GetTemplateDetail.do", urlData, !0, "html", void 0, function(json) { | |
json = ZRCommonUtil.convertStringToJson(json), callbackFun && callbackFun(json) | |
}, function(xhr) { | |
var json = ZRCommonUtil.convertStringToJson(xhr.reponseText); | |
errorFun && errorFun(json) | |
}) | |
}, | |
setEditorDetail: function(type, params) { | |
var mode = params && params.mode ? params.mode : "1", | |
content = params && params.content ? params.content : "", | |
modVal = void 0 != mode && null != mode && "1" == mode ? "richtext" : "plaintext", | |
editor = window[type]; | |
"undefined" != typeof editor ? (editor.setContent(content), editor.setMode(modVal)) : ZRCommonUtil.createEditor(type, params) | |
}, | |
createEditor: function(type, params) { | |
var idName = params && params.id ? params.id : "", | |
mode = params && params.mode ? params.mode : "1", | |
content = params && params.content ? params.content : "", | |
editorheight = params && params.editorHeight ? params.editorHeight : "", | |
onlyEditor = params && params.onlyeditor ? params.onlyeditor : !1, | |
textarea = params && params.textarea ? params.textarea : "textarea_" + idName, | |
input = params && params.input ? params.input : "input_" + idName, | |
modVal = void 0 != mode && null != mode && "1" == mode ? "richtext" : "plaintext", | |
toolbar = params && params.toolbar ? params.toolbar : "", | |
needPlainText = params && "false" == params.needplaintext ? !1 : !0, | |
editorFocus = params && "false" == params.needEditorFocus ? !1 : !0; | |
ZE_Init.needEditorFocus = editorFocus, ZE_Init.needplaintext = needPlainText, "" != toolbar && (ZE_Init.toolbarOrder = toolbar), window[type] = void 0; | |
var initobject = { | |
id: idName, | |
mode: modVal, | |
content: content, | |
editorheight: editorheight, | |
avoidMoreOption: "true" | |
}; | |
if (window[type] = ZE.create(initobject), !onlyEditor && null != textarea && 0 != textarea.length) { | |
var createElem_textarea = Utils.createHTML({ | |
name: "textarea", | |
attr: { | |
style: "display:none", | |
name: textarea, | |
id: "textarea_" + type, | |
value: content | |
} | |
}), | |
createElem_input = Utils.createHTML({ | |
name: "input", | |
attr: { | |
name: input, | |
type: "hidden", | |
id: "input_" + type | |
} | |
}), | |
divId = document.getElementById(idName); | |
divId && void 0 != divId && (divId.parentNode.appendChild(createElem_textarea), divId.parentNode.appendChild(createElem_input)) | |
} | |
"" != toolbar && ZRCommonUtil.setDefaultToolbarOder(), ZRCommonUtil.setEditorHeight() | |
}, | |
setEditorHeight: function(parentId) { | |
var $ze_area = $(void 0 != parentId ? "#" + parentId + " .ze_area" : ".ze_area"), | |
editorHeight = $ze_area.height() > 50 ? $ze_area.height() : 250; | |
$ze_area.css("height", editorHeight), $ze_area.contents().find("body").css("height", editorHeight - 30) | |
}, | |
setDefaultToolbarOder: function() { | |
ZE_Init.toolbarOrder = [[["bold", "Bold (Ctrl+B)", "zei-bold"], ["italic", "Italic (Ctrl+I)", "zei-italic"], ["underline", "Underline (Ctrl+U)", "zei-underline"], ["strikethrough", "Strikethrough", "zei-strike"]], [["fontfamily", "Font", "zei-fontfamily"]], [["fontsize", "Font Size", "zei-arrow"]], [["forecolor", "Font color", "zei-textclr"], ["backcolor", "Background Color", "zei-bgclr"]], [["alignoptions", "Fontstyle Options", "zei-textleft"], ["listoptions", "List Options", "zei-unorder"], ["indentoptions", "Indent Options", "zei-outdent"]], [["superscript", "superScript", "zei-superScript"]], [["subscript", "subScript", "zei-subScript"]], [["quote", "Insert Quote", "zei-quote"]], [["removeformat", "Remove Formatting", "zei-removeformat"]], [["link", "Insert Link", "zei-link"], ["edithtml", "editHtml", "zei-editHtml"], ["tableGrid", "Insert Table", "zei-table"], ["inserthorizontalrule", "Insert Horizontal Rule", "zei-line"], ["image", "Insert Image", "zei-image"]], [["spellcheck", "Check Spelling", "zei-spellCheck"]], [["otheroptions", "Plain Text", "zei-arrow ze-big"]]] | |
}, | |
getEditorDetail: function(type) { | |
var editorObj = ZRCommonUtil.getEditorDetailAsJson(type), | |
contentId = document.getElementById("textarea_" + type); | |
contentId && void 0 != contentId && (contentId.value = editorObj.content); | |
var templateTypeId = document.getElementById("input_" + type); | |
templateTypeId && void 0 != templateTypeId && (templateTypeId.value = editorObj.type), void 0 == contentId || void 0 != contentId.value && null != contentId.value && "" != contentId.value.trim() || (contentId.value = "<br>", templateTypeId.value = "1") | |
}, | |
getEditorDetailAsJson: function(type) { | |
var editorObj = {}, | |
templateType = "1", | |
content = "", | |
editor = window[type], | |
contentMode = "richtext"; | |
return "undefined" != typeof editor && (contentMode = editor.mode), null !== contentMode && "plaintext" === contentMode && (templateType = "2"), "undefined" != typeof editor && (content = editor.getContent()), editorObj.content = content, editorObj.type = templateType, editorObj | |
}, | |
checkLength: function(fieldId, maxCount, message, errDiv) { | |
var tempBodyLen = $(fieldId).val().length; | |
message = message.replace("$maxcount", maxCount); | |
var errDivClass = "colGR", | |
remDivClass = "colR"; | |
return tempBodyLen >= maxCount ? (errDivClass = "colR", remDivClass = "colGR", message = message.replace("$count", maxCount)) : message = message.replace("$count", tempBodyLen), $(errDiv).removeClass(remDivClass), $(errDiv).addClass(errDivClass).html(message), !1 | |
}, | |
entityActivityView: function(entityID, sIndex, module, resumeId, popupActivity, afterScroll) { | |
var userActivityUrl = "/recruit/DetailPageActivity.do", | |
params = {}; | |
params.activityIndex = sIndex, params.entityId = entityID, params.module = module, ZRCommonUtil.ajaxGetMethod(userActivityUrl, params, !0, "json", void 0, function(resp) { | |
if (resp = null === resp || void 0 === resp ? {} : resp, resp.noRecords = !1, (void 0 === resp.activitiesArr || 0 === resp.activitiesArr.length) && (resp.noRecords = !0), afterScroll) { | |
var activityLogBlock = $("#EntityActivitiesBlock"); | |
resp.afterScroll = !0; | |
var rtTemplate = Handlebars.getTemplate("right_panel", "RecruitTimeline"), | |
resText = rtTemplate(resp); | |
"0" == sIndex ? (activityLogBlock.html(""), activityLogBlock.html(resText)) : (activityLogBlock = $("#appendActivitiesDiv"), activityLogBlock.html(activityLogBlock.html() + resText), $("#activitiescntcheck").val("0")) | |
} else { | |
var divId = $("#timelineDiv"); | |
if (void 0 != divId && 0 != divId.length) { | |
var timelineObj = $("#timeLineContainerDV"), | |
rtTemplate = Handlebars.getTemplate("right_panel", "RecruitTimeline"), | |
htmlText = rtTemplate(resp); | |
timelineObj.html(htmlText).show(), $("#newHistoryDiv").css("overflow", "auto"); | |
var divheight = $(window).height() - 70; | |
$("#EntityActivitiesBlock").css({ | |
height: divheight - 33 | |
}), $("#newHistoryDiv").show() | |
} | |
} | |
void 0 !== timelineObj && timelineObj.perfectScrollbar("destroy"), ZRCommonUtil.fetchScrollData($(".activityScrollDiv")) | |
}, function(xhr) { | |
var divId = $("#timelineDiv"); | |
xhr && "object" == typeof xhr && xhr.responseJSON && "Unauthorized" === xhr.responseJSON.Error ? ZRComponent.openAlertMessage({ | |
type: "failure", | |
msg: I18n.getMsg("crm.security.error") | |
}) : void 0 != divId && 0 != divId.length && crmui.showMsgBand("error", I18n.getMsg("zr.timeline.error.occurred"), 5e3) | |
}) | |
}, | |
showbulkaudit: function(auditid) { | |
ZRCommonUtil.ajaxGetMethod("/recruit/ShowBulkAudit.do", "auditid=" + auditid, !0, "json", void 0, function(json) { | |
var comments = ""; | |
json && ($.each(json, function(i, item) { | |
comments += item | |
}), $("#setupAudit_" + auditid).html(comments).toggle()) | |
}, function() { | |
crmui.showMsgBand("error", I18n.getMsg("crm.feedback.failureMessage"), 5e3) | |
}) | |
}, | |
showbulkactivity: function(pkid, module, page) { | |
var constructval; | |
if ("setup" == page) { | |
if ("block" == document.getElementById("setupcomment_" + pkid).style.display) | |
return void (document.getElementById("setupcomment_" + pkid).style.display = "none") | |
} else if ("block" == document.getElementById("activitynote_" + pkid).style.display) | |
return void (document.getElementById("activitynote_" + pkid).style.display = "none"); | |
ZRCommonUtil.ajaxGetMethod("/recruit/ShowBulkActivity.do", "activityid=" + pkid + "&module=" + module, !0, "json", void 0, function(json) { | |
json && $.each(json, function(i, item) { | |
var id = item.id, | |
value = item.value, | |
link = ""; | |
link = "setup" == page ? "<a href='/recruit/EntityInfo.do?module=" + module + "&id=" + id + "' target='_blank'>" + value + "</a>" : "<a href='/recruit/EntityInfo.do?module=" + module + "&id=" + id + "' data-cid='detailView' data-params='{\"module\":\"" + module + '","id":"' + id + '","pfrom":"rel","lookback":"true"}\'>' + value + "</a>", null == constructval ? constructval = link : constructval += ", " + link | |
}), "setup" == page ? $("#setupnote_" + pkid).html(constructval).toggle() : $("#activitynote_" + pkid).html(constructval).toggle() | |
}, function() {}) | |
}, | |
recentcomments: function(id, page) { | |
"setup" == page ? $("#setupcomment_" + id).toggle() : $("#activitycomment_" + id).toggle() | |
}, | |
setCheckboxValue: function(target) { | |
var tgt = $(target); | |
tgt.val(tgt.is(":checked") ? "true" : "false") | |
}, | |
unlockandqualifypopup: function(event) { | |
var tgt = $(event.target), | |
pkid = tgt.data("pkid"), | |
listview = tgt.data("listview"), | |
assPopOutView = tgt.data("asspopview"), | |
module = tgt.data("module"); | |
listview || (listview = !1), assPopOutView || (assPopOutView = !1); | |
var title, | |
type, | |
arrowclass = "qcRight"; | |
tgt.is("a.icon-disq") || tgt.is("a.icon-disq-active") ? (title = I18n.getMsg("crm.leads.qualify"), type = "disq", arrowclass = "qcLeft") : tgt.is("a.icon-lock") || tgt.is("a.icon-lock-active") ? (title = I18n.getMsg("crm.leads.unlock"), type = "lock", arrowclass = "qcLeft") : tgt.is("input#Follow_btn.fbtn") || tgt.is("input#Follow_btn_asspop.fbtn") || tgt.is("input#Follow_btn_asspop") ? (title = tgt.val(), type = tgt.data("type"), arrowclass = "qcRight") : tgt.is("input#Follow_btn") && (title = tgt.val(), type = tgt.data("type"), arrowclass = "qcRight"), $(".notes-block").remove(); | |
var cancelFun = function() { | |
$(".notes-block").remove() | |
}, | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "notes-block" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "qcpopuparrow " + arrowclass | |
} | |
}, { | |
name: "h6", | |
attr: { | |
"class": "cmnt-heading" | |
}, | |
html: title | |
}, { | |
name: "textarea", | |
attr: { | |
placeholder: I18n.getMsg("crm.potential.associate.popout.entercomments"), | |
"class": "textareachk", | |
"data-textarea": '{"maxlength": 6000, "minlength": 100, "method": "after"}', | |
id: "hot-comment", | |
value: "" | |
}, | |
html: "" | |
}, { | |
name: "input", | |
attr: { | |
type: "button", | |
"class": "btn mR10", | |
"data-pkid": pkid, | |
"data-module": module, | |
"data-listview": listview, | |
"data-asspopview": assPopOutView, | |
"data-type": type, | |
value: I18n.getMsg("crm.button.add") | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.unlockandqualifyajax" | |
}] | |
}, { | |
name: "a", | |
attr: { | |
"class": "fbllink", | |
href: "javascript:void(0);" | |
}, | |
events: [{ | |
name: "click", | |
fn: cancelFun | |
}], | |
html: I18n.getMsg("crm.button.cancel") | |
}] | |
}); | |
$("body").append(createElem); | |
var pasteDiv = $(".notes-block"), | |
pos = tgt ? ZRCommonUtil.getPopoverPosition(tgt) : {}; | |
pos && (pasteDiv.css({ | |
top: pos.top + "px", | |
left: pos.left + "px" | |
}), pasteDiv.children("." + arrowclass).css(listview ? { | |
top: pos.arrowPos + "px", | |
left: "-12px" | |
} : { | |
top: pos.arrowPos + "px", | |
right: "-12px" | |
})) | |
}, | |
unlockandqualifyajax: function(event) { | |
var status, | |
typeid, | |
tgt = $(event.target), | |
type = tgt.data("type"), | |
module = tgt.data("module"); | |
"Leads" === module ? "lock" === type ? (status = "Hired", typeid = "#icon-lock-") : "disq" === type && (status = "Qualified", typeid = "#icon-disq-") : "Potentials" === module && "lock" === type && (status = "In-progress", typeid = "#icon-lock-"); | |
var pkid = tgt.data("pkid") + "", | |
textarea = document.getElementById("hot-comment").value, | |
listview = tgt.data("listview"), | |
assPopOutView = tgt.data("asspopview"), | |
urlData = { | |
module: module, | |
entityId: pkid, | |
comments: textarea, | |
status: status, | |
listview: listview, | |
action: "open" | |
}; | |
ZRCommonUtil.ajaxPostMethod("/recruit/UpdateResumeStatus.do", urlData, !1, "html", void 0, function(json) { | |
if (json = ZRCommonUtil.convertStringToJson(json), json && json.message && "success" == json.message) { | |
if ($("#change-status-popup, .notes-block").hide(), assPopOutView) { | |
$(typeid + pkid).remove(); | |
var jobId = $("input#Follow_btn_asspop").data("jobid"); | |
ZRAssociateUtil.loadAssociateDetail(jobId, pkid) | |
} else if (listview) { | |
var name = $("#listView_" + pkid).html(), | |
tdElem = $(typeid + pkid).parent(); | |
tdElem.html('<input type="checkbox" value="' + pkid + "&&||" + name + '" name="chk">') | |
} else { | |
var url = "/recruit/ShowEntityInfo.do?id=" + getObj("id").value + "&module=" + getObj("module").value + "&cvid=" + getObj("cvid").value + "&recordNum=" + getObj("recordNum").value; | |
doAjaxUpdate("show", url) | |
} | |
ZRCommonUtil.showSuccessMessage(I18n.getMsg("crm.label.success.status")), crmTab.deleteFromCache(module) | |
} | |
}, function(xhr) { | |
var json = xhr.responseText; | |
json = ZRCommonUtil.convertStringToJson(json), json && json.message && "failure" === json.message ? alert(I18n.getMsg("crm.error.changestatus")) : json && json.message && "FLEEMessageIAR" === json.message ? alert(I18n.getMsg(json.fmtkey_fleeMessage, [json.edition, json.featureLimitCount, json.featureType])) : json && json.message && "INVALID_NUMBER_OF_POSITIONS" === json.message && (alert(I18n.getMsg("errors.potentials.numberofpositions")), $("#number_of_positions").focus()) | |
}) | |
}, | |
recentstatuseditoverload: function(event, tgt, isRowExist, status) { | |
ZRCommonUtil.recentstatusedit(event.target, isRowExist, status) | |
}, | |
removeCandidateActions: function(pkid, module, type, value) { | |
var tdElem = $("#status_lock_spn").parent(); | |
tdElem.html('<span id="status_lock_spn" class="dB"><input type="hidden" value="true" id="isCandidatesLocked"/><input type="button" data-positiondata=\'{"modal":".notes-block", "placement":"left"}\' class="newgraybtn" id="Follow_btn" data-pkid=' + pkid + " data-type=" + type + ' data-listview="false" data-module=' + module + ' name="Follow_btn" value="' + value + '" onclick="ZRStatusUtil.recentstatusedit(this)"> </span>'), $("#add-new-iw-link, #add-new-jo-link, #add-existing-jo-link").hide(), $("input[data-cid=convert], td.tableData div a.sl, span.sep, #detailddMenu a[name=mailmerge], #detailddMenu a[name=Duplicate2], #singleGenerateFormattedResumeId, #candidateInvitationStatusId, div#relLink, #detail-tag-list div div a, a#createlink, div.normalDropDown, #detail_status_link").remove(), $("#detail-tag-list div div.tagsBlock span").attr("style", "padding:0 13px 0 13px;"); | |
var linkElem = $("a.rellistNew"); | |
linkElem = ZRCommonUtil.allowCandidateActions(linkElem), $.each(linkElem, function(i, item) { | |
void 0 != item && void 0 != item.id && "note_desktop" != item.id && $(item).remove() | |
}) | |
}, | |
allowCandidateActions: function(linkElem) { | |
var linkRelElem = [], | |
persStrObj = getAccessibleObj("personalityArr"), | |
listRel = []; | |
if (persStrObj) { | |
var arrVal = persStrObj.value, | |
persArrObj = arrVal.split("||"), | |
attachIndex = void 0, | |
attachParent = void 0; | |
persArrObj.length > 0 && (attachIndex = $.inArray(!0, $.map(persArrObj, function(item) { | |
return item.indexOf("attachmentspersonality") > -1 | |
})), attachParent = attachIndex > -1 ? function(attachInd) { | |
var listRelId = persArrObj[attachInd].split("_")[1]; | |
listRel.push("ract_" + listRelId), listRel.push("ra_" + listRelId), listRel.push("norec_" + listRelId) | |
} : void 0, void 0 != attachParent && attachParent(attachIndex), attachIndex = $.inArray(!0, $.map(persArrObj, function(item) { | |
return item.indexOf("emailspersonality") > -1 | |
})), attachParent = attachIndex > -1 ? function(attachInd) { | |
var listRelId = persArrObj[attachInd].split("_")[1]; | |
listRel.push("ract_" + listRelId), listRel.push("ra_" + listRelId), listRel.push("norec_" + listRelId) | |
} : void 0, void 0 != attachParent && attachParent(attachIndex)) | |
} | |
return listRel.push("putMailOpt"), listRel.push("getMailOpt"), $.each(linkElem, function(i, item) { | |
var itemParent = $(item).parent().attr("id"), | |
index = listRel.indexOf(itemParent); | |
-1 == index && linkRelElem.push(item) | |
}), linkRelElem | |
}, | |
pasteDocumentUploadFile: function() { | |
var value = $("#pasteresumearea").val(); | |
if (0 == value.length) | |
return crmui.showMsgBand("error", I18n.getMsg("crm.leads.pasteresume.error"), 5e3), !1; | |
for (var liElem = $("ul#selectedTagsList>li"), tagIdStr = "", i = 0; i < liElem.length; i++) { | |
var elem = $(liElem[i]), | |
tagLabel = elem.data("taglabel"); | |
tagIdStr = tagLabel && 0 != tagLabel.length ? tagLabel + ";" + tagIdStr : tagIdStr | |
} | |
if ($("#layoutId").length > 0 && "none" == $("#layoutId").val()) | |
return crmui.showMsgBand("error", I18n.getMsg("crm.label.choose.layout.alert"), 5e3), !1; | |
var inpElem = $("#ass-cand-tag-text"), | |
tagName = inpElem.val(); | |
tagIdStr = tagName && 0 != tagName.length ? tagName + ";" + tagIdStr : tagIdStr, tagIdStr.length > 0 && (document.pasteresumefile.taglist.value = tagIdStr); | |
var callbacks = { | |
success: function(data) { | |
if ($("#ajax_load_tab").hide(), data = ZRCommonUtil.convertStringToJson(data), window.leadid = data.leadid, window.importstatus = data.status, window.action = data.action, void 0 != data.isPREnabled && "true" === data.isPREnabled) { | |
var parserPage = document.createElement("parser-intermediate-page"); | |
parserPage.setAttribute("id", "parser-intermediate-page-comp"), parserPage.setData({ | |
fieldValData: data.resObj, | |
joId: data.assojoId, | |
tagList: data.tagListStr, | |
parserSource: data.parserSource, | |
filePath: data.filePath, | |
dupEntId: data.dupEntId, | |
fileName: data.fileName, | |
isApproved: data.isApproved, | |
fileFormat: data.fileFormat, | |
larId: data.larId, | |
optOutCand: data.optOutCand, | |
onDup: data.onDup, | |
saveAndNew: data.saveAndNew, | |
modifiedFilename: data.modifiedFilename | |
}), $("#pasteResume_panel").html(parserPage) | |
} else | |
ZRCommonUtil.resumeparser("Leads", "", "", "", data.action) | |
}, | |
fail: function(data) { | |
var errorJson = ZRCommonUtil.convertStringToJson(data); | |
ZRCommonUtil.createInfoBox("FLEEMessageIAR" == errorJson.message & "Standard" == errorJson.licenseName ? { | |
title: I18n.getMsg("zr.parser.limit.exceed.title"), | |
content: I18n.getMsg("zr.parser.limit.exceed.standard"), | |
saveclass: "primarybtn" | |
} : "FLEEMessageIAR" == errorJson.message & "Professional" == errorJson.licenseName ? { | |
title: I18n.getMsg("zr.parser.limit.exceed.title"), | |
content: I18n.getMsg("zr.parser.limit.exceed.professional"), | |
saveclass: "primarybtn" | |
} : { | |
title: I18n.getMsg("crm.livedesk.error"), | |
content: I18n.getMsg("crm.security.error.add.user"), | |
saveclass: "primarybtn" | |
}) | |
} | |
}; | |
ZRCommonUtil.getAssociateJOForImport("#Crm_Import_Leads_POTENTIALID", "[name=associdatedjo]"); | |
var formData = ZRCommonUtil.formData2Query(document.pasteresumefile); | |
return ZRCommonUtil.ajaxUpload("/recruit/PasteResumeUpload.do", formData, callbacks, "json", !1, !1), !1 | |
}, | |
resumeParserUploadStatus: function(status, statusof) { | |
var actualurl = window.location; | |
if (actualurl && (actualurl = String(actualurl)), actualurl.indexOf("ImportParser") > -1 || actualurl.indexOf("generateFormattedResume") > -1 || actualurl.indexOf("BulkParser") > -1) { | |
if (void 0 != status && "false" == status) { | |
var state = History.getState().hash; | |
state.indexOf("ImportParser") > -1 || state.indexOf("BulkParser") > -1 ? setTimeout(ajaxNew("/recruit/ImportFromDocument.do?module=Leads&type=importfromdocument"), time) : "FormattedResume" == statusof && setTimeout(ajaxNew("/recruit/getFormattedResumeStatus.do?module=Leads&type=importfromdocument"), time) | |
} | |
} else | |
$("#resume_parser_notes").is(":visible") && "FormattedResume" == statusof && setTimeout(ajaxNew("/recruit/getFormattedResumeStatus.do?module=Leads&type=importfromdocument&source=formattedResume"), time) | |
}, | |
resumeparser: function(module, parserBusy, statusof, total, action) { | |
if (void 0 != action && "trialexpired" == action) | |
return void alert("To continue upload please upgrade"); | |
if (void 0 != action && "singleparser" == action) { | |
var leadidstr = window.leadid, | |
status = window.importstatus; | |
if (3 === status) { | |
var savefn = function(ev, target) { | |
ZRCommonUtil.closeDialog(ev, target, "#modal-block"), Crm.addToHistory(void 0, void 0, { | |
clickId: "detailView", | |
module: module, | |
id: leadidstr | |
}) | |
}, | |
cancelfn = function(ev, target) { | |
$(".fileNameInIFD").remove(); | |
var importButton = $("#resume_parser_import_id"); | |
importButton.val(I18n.getMsg("crm.lead.resume.ImportResumes")), importButton.attr("disabled", !1), ZRCommonUtil.closeDialog(ev, target, "#modal-block") | |
}; | |
return void ZRCommonUtil.openConfirmationAlert({ | |
isNew: !0, | |
messageType: "warning", | |
content: I18n.getMsg("crm.import.duplicate.error"), | |
savebtn: I18n.getMsg("crm.import.duplicate.view"), | |
nobutton: I18n.getMsg("crm.import.duplicate.continue") | |
}, savefn, void 0, cancelfn, void 0) | |
} | |
if (10 === status) { | |
var msg = I18n.getMsg("zr.import.parser.coverletter.noemail.skip"); | |
alert(msg); | |
var state = History.getState().hash; | |
return void ajaxNew(state.indexOf("PasteParser") > -1 ? "/recruit/ImportFromDocument.do?module=Leads&toolTip=Leads&paste=pasteparser" : "/recruit/ImportFromDocument.do?module=Leads&type=importfromdocument") | |
} | |
return void (void 0 == leadidstr || null == leadidstr || "null" == leadidstr ? (alert("Please try agin"), ajaxNew("/recruit/ImportFromDocument.do?module=Leads&type=importfromdocument")) : document.location.href = "/recruit/EntityInfo.do?module=" + ZRCommonUtil.ZCMODULEMAP[module] + "&id=" + leadidstr) | |
} | |
void 0 != action && "pastedata" == action && ajaxNew("/recruit/ImportFromDocument.do?module=Leads&paste=pasteparser"), void 0 != action && "limitExceeded" == action && ($("#spaceExceeded").attr("style", ""), $("#dslimit").html(window.dslimitStr), $("#resume_parser_import_id").attr("value", I18n.getMsg("crm.lead.resume.ImportResumes")), $("#resume_parser_import_id").removeAttr("disabled")), void 0 != action && "parseddata" == action && ajaxNew("/recruit/ImportFromDocument.do?module=Leads&type=importfromdocument"), void 0 != action && "uploadExceeded" == action && ($("#resume_parser_import_id").attr("value", I18n.getMsg("crm.lead.resume.ImportResumes")), $("#resume_parser_import_id").removeAttr("disabled")), time = 6 >= total ? 5e3 : 1e4, setTimeout(function() { | |
ZRCommonUtil.resumeParserUploadStatus(parserBusy, statusof) | |
}, time) | |
}, | |
getParserValues: function(val) { | |
$("#parser_test_result").hide(), $("#parserfilelist").html(""), "true" == val ? ($("#resumeparsermapping").hide(), $("#parser_user_test_doc").show()) : ($("#parser_user_test_doc").hide(), $("#resumeparsermapping").show(), $("#testfilename").text(I18n.getMsg("crm.setup.parsersettings.test.tobrowsefile"))), document.body.scrollTop = 0 | |
}, | |
parsermappingstatus: function() { | |
var action = window.action; | |
if (void 0 != action && "parsermapping" == action) { | |
var message = I18n.getMsg("crm.setup.resumeparsermapping.changessuccessfullyupdated"); | |
crmui.showMsgBand("success", message, 4e3) | |
} else if (void 0 != action && "emptymapping" == action) { | |
var message = I18n.getMsg("crm.setup.resumeparsermapping.emptymappingnotallowed"); | |
crmui.showMsgBand("warning", message, 4e3) | |
} else if (void 0 != action && "parsertest" == action) { | |
var iframe = getElemById("parsermappingframe"), | |
iframeElem = Utils.getIFrameDoc(iframe), | |
iframeContent = $(iframeElem).find("body").html(); | |
$("#parser_test_result").html(iframeContent).show() | |
} | |
}, | |
refreshRelatedList: function(personalityname, emailist) { | |
reloadPersonality(personalityname, emailist) | |
}, | |
publishInWebsite: function(elem, fieldId) { | |
var enable = "false"; | |
$(elem).is(":checked") && (enable = "true"); | |
var urlData = {}; | |
urlData.fieldid = fieldId, urlData.isenable = enable, ZRCommonUtil.ajaxPostMethod("/recruit/PublishInWebsite.do", urlData, !1, "json", void 0, function(json) { | |
json = ZRCommonUtil.convertStringToJson(json), json && json.message && "success" === json.message ? "true" == enable ? $(elem).attr("checked", "true") : $(elem).removeAttr("checked") : "true" == enable ? $(elem).removeAttr("checked") : $(elem).attr("checked", "true") | |
}, function() { | |
alert(I18n.getMsg("crm.security.error.add.user")) | |
}) | |
}, | |
htmlEscape: function(value) { | |
return value && null != value && "null" != value && (value = value.replace(/"/g, """), value = value.replace(/'/g, "'"), value = value.replace(/</g, "<"), value = value.replace(/>/g, ">")), value | |
}, | |
getStaffingType: function() { | |
var accModName = ZRCommonUtil.ZCMODULEMAP.Accounts; | |
return "Departments" == accModName ? 1 : 2 | |
}, | |
initiateSocialDataFetch: function() { | |
var alreadyFetched = ZRCommonUtil.ISSOCIALNOTIFIED; | |
if (!alreadyFetched) { | |
var urlData = {}; | |
urlData.action = "initiate_data_fetch", urlData.notifysocial = "true", ZRCommonUtil.ajaxGetMethod("/recruit/SocialSettings.do", urlData, void 0, void 0, void 0, function(resp) { | |
resp && "true" === resp && (ZRCommonUtil.ISSOCIALNOTIFIED = !0) | |
}, void 0) | |
} | |
}, | |
loadMigrationRequestForm: function() { | |
ZRCommonUtil.ajaxPostMethod("/recruit/MigrationRequestForm.do", "", !1, "html", void 0, function(data) { | |
ZRCommonUtil.createModal({ | |
title: I18n.getMsg("crm.submit.migration.request"), | |
content: data, | |
savefn: "ZRCommonUtil.validateMigrationRequestForm", | |
savebtn: I18n.getMsg("crm.button.submit") | |
}) | |
}, function() {}) | |
}, | |
createEditThanksMessage: function(module) { | |
var templatemessage = $("#templatemessage").val(), | |
editormode = $("#editormode").val(); | |
ZRCommonUtil.ajaxGetMethod("/recruit/WebFormConfirmationMessage.do", "operation=thanksmessage&module=" + module, !1, "html", void 0, function(data) { | |
ZRCommonUtil.createModal({ | |
modalclass: "zindex zr-submessage", | |
title: I18n.getMsg("zr.webform.editor.submission.message"), | |
content: data, | |
savefn: "ZRCommonUtil.saveMessage", | |
cancelfn: "ZRCommonUtil.cancelMessage", | |
savebtn: I18n.getMsg("crm.button.submit"), | |
callback: function() { | |
(null == templatemessage || "null" == templatemessage || "" == templatemessage || void 0 == templatemessage || "undefined" == templatemessage) && (templatemessage = I18n.getMsg("zr.webform.editor.thanks.message")), ZRCommonUtil.createEditor("editor", { | |
id: "emailEditor", | |
toolbar: [[["bold", "Bold (Ctrl+B)", "zei-bold"], ["italic", "Italic (Ctrl+I)", "zei-italic"], ["underline", "Underline (Ctrl+U)", "zei-underline"], ["strikethrough", "Strikethrough", "zei-strike"]], [["fontfamily", "Font", "zei-fontfamily"]], [["fontsize", "Font Size", "zei-arrow"]], [["forecolor", "Font color", "zei-textclr"], ["backcolor", "Background Color", "zei-bgclr"]], [["alignoptions", "Fontstyle Options", "zei-textleft"], ["listoptions", "List Options", "zei-unorder"], ["indentoptions", "Indent Options", "zei-outdent"]], [["quote", "Insert Quote", "zei-quote"]], [["removeformat", "Remove Formatting", "zei-removeformat"]], [["spellcheck", "Check Spelling", "zei-spellCheck"]], [["otheroptions", "Plain Text", "zei-arrow ze-big"]]], | |
content: templatemessage, | |
mode: editormode, | |
removefreeze: "true", | |
editorHeight: 250 | |
}) | |
} | |
}), Utils.bindChosen($(".zr-submessage").find("select")) | |
}, function(xhr) { | |
var json = xhr.responseText; | |
json = ZRCommonUtil.convertStringToJson(json), json && json.message && "failure" === json.message && alert(I18n.getMsg("crm.error.changestatus")) | |
}) | |
}, | |
saveMessage: function() { | |
var editorObj = ZRCommonUtil.getEditorDetailAsJson("editor"), | |
content = editorObj.content, | |
editormode = editorObj.type; | |
$("#editormode").val(editormode); | |
var htmlremovedcontent = content.replace(/<(?:.|\n)*?>/gi, "").replace(/ /gi, " "); | |
if (htmlremovedcontent.length > 2e3) | |
alert(I18n.getMsg("zr.webform.editor.lenthcheck")); | |
else if (htmlremovedcontent.trim().length < 1) | |
alert(I18n.getMsg("zr.webform.editor.submitmessage.emptycheck")); | |
else { | |
if (null != content && "null" != content && "" != content && void 0 != content && "undefined" != content) { | |
var modField = $("#jsonForMergefields").data("mergeFieldsData"), | |
msgUnsupportedList = CrmConvertMergeFields.getUnsupportedFieldsList(content, modField); | |
if (msgUnsupportedList.length > 0) | |
return ZRCommonUtil.showUnsupportedFieldsList(void 0, msgUnsupportedList, void 0, editormode), !1; | |
$("#templatemessage").val(content), htmlremovedcontent.length > 90 && (htmlremovedcontent = htmlremovedcontent.substring(0, 91) + "..."), $("#htmlremovedtemplatemessage").text($("<div/>").html(htmlremovedcontent).text()) | |
} | |
ZRCommonUtil.closeDialog(void 0, void 0, "#modal-block") | |
} | |
}, | |
cancelMessage: function() { | |
ZRCommonUtil.closeDialog(void 0, void 0, "#modal-block") | |
}, | |
submitdetailsmandatecheck: function() { | |
var submitmessage = $("#submitmessage").prop("checked"), | |
landingpage = $("#landingpage").prop("checked"); | |
submitmessage || landingpage ? $("#applicantConfirmDetailsAlert").css("visibility", "hidden") : (alert(I18n.getMsg("zr.webform.editor.confirmationdetails.mandatorycheck")), $("#applicantConfirmDetailsAlert").css("visibility", "visible")) | |
}, | |
validateMigrationRequestForm: function() { | |
var name = $("#mig_name"), | |
email = $("#mig_email"); | |
if ("" == email.val() || email.val() == email.attr("placeholder")) | |
return alert(I18n.getMsg("crm.migration.request.form.alert.email")), email.focus(), !1; | |
var phone = $("#mig_phone"), | |
company = $("#mig_company"), | |
country = $($("#mig_country")), | |
vendor = $("#mig_vendor"); | |
if ("" == vendor.val() || vendor.val() == vendor.attr("placeholder")) | |
return alert(I18n.getMsg("crm.migration.request.form.alert.vendor")), vendor.focus(), !1; | |
var users = $("#mig_users"); | |
if ("" == users.val() || users.val() == users.attr("placeholder")) | |
return alert(I18n.getMsg("crm.migration.request.form.alert.users")), users.focus(), !1; | |
var expected = $("#mig_expectedtime"), | |
desc = $("#mig_description"), | |
urlData = {}; | |
urlData.mig_name = name.val(), urlData.mig_email = email.val(), urlData.mig_phone = phone.val(), urlData.mig_company = company.val(), urlData.mig_country = country.val(), urlData.mig_vendor = vendor.val(), urlData.mig_users = users.val(), urlData.mig_expected = expected.val(), urlData.mig_desc = desc.val(), ZRCommonUtil.ajaxPostMethod("/recruit/SubmitMigrationRequestForm.do", urlData, !1, "html", void 0, function() { | |
ZRCommonUtil.closeDialog(void 0, void 0, "#modal-block"), ZRCommonUtil.showSuccessMessage(I18n.getMsg("crm.migration.request.form.alert.success")) | |
}, function() { | |
alert(I18n.getMsg("crm.migration.request.form.alert.failure")) | |
}) | |
}, | |
setStartDateTime: function(calenderNode) { | |
if ($(calenderNode).is($("input[name='property(Start DateTime)']")) && $("input[name='property(End DateTime)']").length > 0) { | |
var time = $("input[id='Start DateTimedateTime']").val(); | |
"hh:mm a" === Crm.userDetails.TIME_FORMAT && (time += " " + $("input[name='property(Start DateTimeampm)']").val()); | |
var date = $(calenderNode).val(); | |
ZRCommonUtil.setEndDateAndTime(date + " " + time) | |
} | |
}, | |
setEndDateAndTime: function(startdate) { | |
var is24HrsFormat = !1; | |
"HH:mm" === Crm.userDetails.TIME_FORMAT && (is24HrsFormat = !0); | |
var dtObj = new Date(crmCalendar.getDateObjectFromGivenDateString(startdate)), | |
hr = trimBoth($("input[id='Start DateTimedateTime']").val().split(" ")[0]); | |
if (dtObj) { | |
var meridiem = is24HrsFormat ? "" : $('input[name="property(Start DateTimeampm)"]').val().toUpperCase(); | |
dtObj.setHours(is24HrsFormat ? parseInt(hr.split(":")[0], 10) : Utils.convertTimeTo24HoursFormat(parseInt(hr.split(":")[0], 10), meridiem)), dtObj.setMinutes(parseInt(hr.split(":")[1], 10) + 60) | |
} | |
if (is24HrsFormat) | |
$("input[id='End DateTimedateTime']").val(Utils.formatTimeVal(dtObj.getHours()) + ":" + Utils.formatTimeVal(dtObj.getMinutes())), $("input[name='property(End DateTimehour)']").val(Utils.formatTimeVal(dtObj.getHours())), $("input[name='property(End DateTimeminute)']").val(Utils.formatTimeVal(dtObj.getMinutes())); | |
else { | |
var timeObj = Utils.convertTo12HoursFormatTimeObj(dtObj); | |
$("input[id='End DateTimedateTime']").val(timeObj.hrs + ":" + timeObj.mins), $("input[name='property(End DateTimehour)']").val(timeObj.hrs), $("input[name='property(End DateTimeminute)']").val(timeObj.mins), $("input[name='property(End DateTimeampm)']").val(timeObj.meridiem.toUpperCase()), $("input[name='property(End DateTimeampm)']").next().html(I18n.getMsg(timeObj.meridiem.toUpperCase())) | |
} | |
$("input[name='property(End DateTime)']").val(crmCalendar.convertToUserDatePattern(dtObj.getDate() + " " + dtObj.getMonth() + " " + dtObj.getFullYear())), $("input[name='property(End DateTime)']").data("dateObj", dtObj) | |
}, | |
getPartialTemplate: function(folderName, templateName) { | |
return templateName ? ZRCommonUtil.getTemplateContent(folderName, templateName) : void 0 | |
}, | |
getTemplateContent: function(folderName, templateName) { | |
return templateName && null != templateName ? Handlebars.getTemplate(folderName, templateName) : void 0 | |
}, | |
replaceTemplateData: function(data, templateName, folderName) { | |
if (data && templateName) { | |
var template = ZRCommonUtil.getTemplateContent(folderName, templateName); | |
return template(data) | |
} | |
}, | |
saveCompanyLogo: function() { | |
if ($("#companyLogo:visible").length > 0 && "" === $("#companyLogo").val()) | |
return ZRCommonUtil.displayErrorMsg("gSErrorMsg", I18n.getMsg("crm.gs.logo.select.logo")), !1; | |
var formData = formData2QueryString(document.uploadLogo), | |
postData = Utils.splitStringToObj(formData); | |
return $(".zrc-btns-block").find(".zrc-btn-primary").val(I18n.getMsg("crm.saving")), ZRCommonUtil.ajaxFormSubmit("/recruit/updateCompanyLogo.do?actionName=updateOrgLogo", postData, document.uploadLogo, void 0, !1), !1 | |
}, | |
changeCompanyLogo: function() { | |
$("#companyLogo").toggle(), "change" === $("#changeImage").data("oper") ? ($("#changeImage").html(I18n.getMsg("crm.button.mass.hide")), $("#changeImage").data("oper", "hide"), $("#cl .zrc-btn-primary").show()) : "hide" === $("#changeImage").data("oper") && ($("#changeImage").html(I18n.getMsg("crm.label.change.image")), $("#changeImage").data("oper", "change"), $("#cl .zrc-btn-primary").hide()) | |
}, | |
getCompanyLogoUpdateForm: function() { | |
var callBackFun = { | |
successFunc: function(data) { | |
$("#alert-message").length > 0 && $("#alert-message").remove(), $("#cl").show(), "success" === data.status ? (ZRCommonUtil.openModal("#cl"), $('input[name="orgId"]').val(data.orgId), $('input[name="orgName"]').val(data.orgName), -1 != data.logoFileId && "null" !== data.logoFileId && "" !== data.logoFileId ? ($("#getStartImageId").prop("src", "/recruit/viewCompanyLogo?fileId=" + data.logoFileId).show(), $("#companyLogo").hide(), $("#changeImage").show()) : ($("#companyLogo").show(), $("#changeImage").hide(), $("#getStartImageId").hide(), $("#cl .zrc-btn-primary").show())) : "error" === data.status && ZRCommonUtil.displayErrorMsg("gSErrorMsg", I18n.getMsg("crm.customfromaddress.save.failed")) | |
}, | |
failureFunc: function() { | |
ZRCommonUtil.displayErrorMsg("gSErrorMsg", I18n.getMsg("crm.customfromaddress.save.failed")) | |
} | |
}; | |
return ZRCommonUtil.ajaxGetMethod("/recruit/getCompanyLogoUpdateForm.do", void 0, !0, "json", void 0, callBackFun.successFunc, callBackFun.failureFunc), !1 | |
}, | |
displayErrorMsg: function(elementId, message) { | |
ZRComponent.openAlertMessage({ | |
msg: I18n.getMsg(message), | |
display: "inline", | |
type: "failure", | |
noCloseIcon: !0, | |
displayId: elementId | |
}) | |
}, | |
changeProfile: function(ev, spaceId) { | |
if (window.confirm("Do you want to change the profile of this user?")) { | |
var urlData = {}; | |
urlData.actionName = "upgradeUserFromTool"; | |
var userid = $(ev.target).parent().siblings().eq(1).html(); | |
urlData.userIdToChange = userid, urlData.spaceId = spaceId, urlData.profileid = $(ev.target).val(), ZRCommonUtil.ajaxPostMethod("/recruit/Security.do", urlData, !0, "json", void 0, function(data) { | |
data && alert("Profile changed sucessfully") | |
}) | |
} | |
}, | |
confirmVersionChange: function() { | |
var confirmButtonFun = function() { | |
var urlData = {}; | |
urlData.actionName = "convertToHR", ZRCommonUtil.ajaxPostMethod("/recruit/Security.do", urlData, !0, "json", void 0, function(data) { | |
data && (ZRJobBoardsUtil.closeJBIPopUp("#staffConvConfirm"), location.reload()) | |
}, function() { | |
ZRCommonUtil.displayErrorMsg("gSErrorMsg", I18n.getMsg("crm.fr.unknown")) | |
}) | |
}, | |
cancelButtonFun = function() { | |
ZRJobBoardsUtil.closeJBIPopUp("#staffConvConfirm") | |
}, | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
id: "staffConvConfirm", | |
"class": "pbr-modal pb-animate-modal pb-save-modal md-show" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "pbr-modal-container pb-wid600", | |
style: "width:500px" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "p30 pT20 pB20" | |
}, | |
child: [{ | |
name: "p", | |
attr: { | |
"class": "marT20 f18 texAC" | |
}, | |
html: I18n.getMsg("crm.switching.confirm.message") | |
}, { | |
name: "div", | |
attr: { | |
"class": "pb-center mT30" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
id: "boostFieldBut", | |
type: "button", | |
"class": "primarybtn pb-close", | |
value: I18n.getMsg("crm.jobboards.job.publish.proceed") | |
}, | |
events: [{ | |
name: "click", | |
fn: confirmButtonFun | |
}] | |
}, { | |
name: "input", | |
attr: { | |
id: "cancelJBBoost", | |
type: "button", | |
"class": "newgraybtn mL10", | |
value: I18n.getMsg("crm.button.cancel") | |
}, | |
events: [{ | |
name: "click", | |
fn: cancelButtonFun | |
}] | |
}] | |
}] | |
}] | |
}] | |
}); | |
ZRCommonUtil.createFreeze(), $("body").append(createElem) | |
}, | |
toggleUserStatus: function(ev, spaceId, status) { | |
var args = {}, | |
elem = $(ev.target), | |
parentElem = elem.parent(); | |
args.content = "Do you really want to Activate/Deactivate user?", args.confirmButtonLabel = I18n.getMsg("Yes"), args.confirmBtnClass = 2, args.confirmButtonFun = function() { | |
var urlData = {}; | |
urlData.actionName = "activateDeactivateUser", urlData.userIdToChange = parentElem.data("userid"), urlData.spaceId = spaceId, urlData.currentStatus = status, urlData.userZUID = parentElem.data("zuid"), ZRCommonUtil.ajaxPostMethod("/recruit/Security.do", urlData, !0, "json", void 0, function(data) { | |
data ? (alert("success"), "ACTIVE" == status ? (parentElem.removeClass("on"), parentElem.find(".onoffswitch-switch").css({ | |
left: "0px", | |
right: "25px" | |
}), parentElem.find("#onofftext").css({ | |
"margin-right": "4px", | |
"float": "right" | |
}), elem.attr("onclick", "ZRCommonUtil.toggleUserStatus(event, '" + spaceId + "', 'DISABLED')")) : (parentElem.addClass("on"), parentElem.find(".onoffswitch-switch").css({ | |
right: "0px", | |
left: "25px" | |
}), parentElem.find("#onofftext").css({ | |
"margin-left": "4px", | |
"float": "left" | |
}), elem.attr("onclick", "ZRCommonUtil.toggleUserStatus(event, '" + spaceId + "', 'ACTIVE')"))) : alert("failure") | |
}, function() { | |
ZRCommonUtil.displayErrorMsg("gSErrorMsg", I18n.getMsg("crm.fr.unknown")) | |
}), ZRComponent.hideModalBox("zrc-modal-box-0") | |
}, ZRComponent.createConfirmDialog(args) | |
}, | |
closeVersionChange: function() { | |
document.cookie = "switchOption=false;", $(".sw-internal").hide() | |
}, | |
isSwitchVersonEnabled: function() { | |
var allcookies = document.cookie; | |
cookiearray = allcookies.split(";"); | |
for (var i = 0; i < cookiearray.length; i++) | |
if (name = cookiearray[i].split("=")[0].trim(), value = cookiearray[i].split("=")[1].trim(), "switchOption" === name && "false" === value) | |
return !1; | |
return !0 | |
}, | |
sendBannerClickMail: function() { | |
var urlData = {}; | |
urlData.actionType = "sendBannerClickMail", $.ajax({ | |
type: "GET", | |
url: "/recruit/License.do", | |
data: urlData, | |
async: !1 | |
}) | |
}, | |
openInterviewFB: function(params) { | |
ZRCommonUtil.createInfoBox({ | |
modalclass: "w600", | |
title: I18n.getMsg("zr.interviewreview.title.new", I18n.getMsg(Crm.moduleInfo.Products[0])), | |
content: "<div style='word-wrap:break-word;'>" + params + "</div>", | |
saveclass: "primarybtn" | |
}) | |
}, | |
updateJobDetails: function(mode, zgid) { | |
var tpName = $("#threadPoolName").text().trim(), | |
jobId = $("#schedulerJobId").text().trim(), | |
args = {}; | |
args.content = "Do you really want to update this scheduler?", args.confirmButtonLabel = I18n.getMsg("Confirm"), args.confirmBtnClass = 2, args.confirmButtonFun = function() { | |
var urlData = {}; | |
urlData.action = "jobsInfo", urlData.mode = mode, urlData.zgId = zgid, urlData.threadPoolName = tpName, urlData.jobId = jobId, urlData.step = "updateJob", ZRCommonUtil.ajaxGetMethod("/recruit/ZCRMAdminTools.do", urlData, !0, "json", void 0, function(data) { | |
data && alert("success") | |
}, function() { | |
ZRCommonUtil.displayErrorMsg("gSErrorMsg", I18n.getMsg("crm.fr.unknown")) | |
}), ZRComponent.hideModalBox("zrc-modal-box-0") | |
}, ZRComponent.createConfirmDialog(args) | |
}, | |
showImportOptions: function() { | |
$("#importSpreadsheetZCRMDiv").slideToggle() | |
}, | |
handleAjaxError: function(url, jqXHR) { | |
if ("/recruit/ResumeInboxSettings.do" === url && jqXHR.status === ZRResumeInbox.mailNotConfiguredError) | |
ZRResumeInbox.showMailAddonConfigureAlert(); | |
else if ("/recruit/GetJOList.do" === url && jqXHR.status === ZRQuickView.notAuthorizedError) | |
$("#qv-associatedjo-tab") && $("#qv-associatedjo-tab").remove(); | |
else { | |
if ("/recruit/GetQVInfo.do" === url && jqXHR.status === ZRQuickView.notAuthorizedError) | |
return ZRComponent.openAlertMessage({ | |
type: "failure-modal", | |
displayId: "", | |
msg: I18n.getMsg("crm.record.not.accessible.message2") | |
}), void (ZRQuickView.loadingCompleted = !0); | |
if ("/recruit/addQVNote.do" === url && jqXHR.status === ZRQuickView.notAuthorizedError) | |
return void ZRComponent.openAlertMessage({ | |
type: "failure-modal", | |
displayId: "", | |
msg: I18n.getMsg("crm.record.not.accessible.message2") | |
}) | |
} | |
}, | |
getFilterComponent: function() { | |
var createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
id: "filterSec" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "pT20 pB20 pL100 pR10 bdr1px pR whiteBg", | |
id: "filterBeforeMainDiv" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "filterBefore" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "fL mT25 mL30 pL5", | |
id: "filterbyid" | |
}, | |
child: [{ | |
name: "b", | |
attr: { | |
"class": "mR10 pL100 mL50 gT4" | |
}, | |
html: I18n.getMsg("candidates.filter.by") | |
}] | |
}, { | |
name: "div", | |
attr: { | |
id: "assJob", | |
"class": "fL mL15 gT7" | |
} | |
}, { | |
name: "div", | |
attr: { | |
id: "cand_filter", | |
"class": "fL mL15 gT7" | |
} | |
}, { | |
name: "div", | |
attr: { | |
"class": "fL mL20 mT10 pT12" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "button", | |
value: I18n.getMsg("crm.button.find"), | |
"class": "zrc-btn-primary btn-x mR5 pL10 pR10 padT7 pB7" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.getFilterComponentResults", | |
args: ["jobfilter"] | |
}] | |
}, { | |
name: "input", | |
attr: { | |
type: "button", | |
value: I18n.getMsg("crm.button.cancel"), | |
"class": "zrc-btn-normal btn-x padT7 pB7" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.removeFilterComponent" | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "clearB" | |
} | |
}] | |
}] | |
}] | |
}); | |
$("#filterMainDiv").append(createElem) | |
}, | |
getJobFilter: function(jobObj) { | |
if (jobObj) { | |
if (jobObjArr = jobObj && jobObj.jobObjArr ? jobObj.jobObjArr : [], jobObjArr && jobObjArr.length > 0) { | |
var createElem = Utils.createHTML({ | |
name: "div", | |
child: [{ | |
name: "b", | |
html: I18n.getMsg("candidates.filter.associated.job.opening") | |
}, { | |
name: "div", | |
attr: { | |
id: "job-holder" | |
}, | |
child: [{ | |
name: "select", | |
attr: { | |
id: "ass-job-opening" | |
} | |
}] | |
}] | |
}); | |
$("#assJob").append(createElem); | |
var assJobOpening = $("#ass-job-opening"); | |
assJobOpening.append(Utils.createHTML({ | |
name: "option", | |
attr: { | |
tabindex: "-1", | |
value: "Unassociated" | |
}, | |
html: "Unassociated" | |
})); | |
for (var j = 0; j < jobObjArr.length; j++) { | |
var jobId = jobObjArr[j].value; | |
assJobOpening.append(Utils.createHTML({ | |
name: "option", | |
attr: { | |
tabindex: "-1", | |
value: jobId + "" | |
}, | |
child: [{ | |
name: "text", | |
html: jobObjArr[j].label | |
}] | |
})) | |
} | |
assJobOpening.hide(); | |
var issearch = jobObj && jobObj.showNext ? jobObj.showNext : !1, | |
scrollObj = {}; | |
issearch && (scrollObj = { | |
toindex: "10", | |
fromindex: "11", | |
shownext: "true", | |
module: "Potentials", | |
callee: "ZRCommonUtil.loadFilterData", | |
mode: "filterJobList", | |
url: "/recruit/GetJoList.do" | |
}), ZRComponent.customSelect(assJobOpening, { | |
id: "ass-job-opening", | |
minlength: 3, | |
issearch: issearch, | |
url: "/recruit/FilterAction.do", | |
urldata: { | |
searchmodule: "Potentials", | |
searchcolumn: "postingtitle" | |
}, | |
selectclass: "w240 ac-bdr2 mT5", | |
isScroll: issearch, | |
scrollObj: scrollObj, | |
tooltipchar: 25 | |
}) | |
} | |
} else | |
$("#assJob").remove() | |
}, | |
getCandStatusFilter: function(statusObj) { | |
if (statusObj && statusObj.length > 0) { | |
var createElem = Utils.createHTML({ | |
name: "div", | |
child: [{ | |
name: "b", | |
html: I18n.getMsg("candidates.filter.cand.status") | |
}, { | |
name: "div", | |
attr: { | |
id: "status-holder" | |
}, | |
child: [{ | |
name: "select", | |
attr: { | |
id: "cand_status", | |
multiple: "multiple" | |
} | |
}] | |
}] | |
}); | |
$("#cand_filter").append(createElem); | |
for (var objsize = statusObj.length > 10 ? statusObj.length - 1 : statusObj.length, candStatusSel = $("#cand_status"), j = 0; objsize > j; j++) | |
candStatusSel.append(Utils.createHTML({ | |
name: "option", | |
attr: { | |
tabindex: "-1", | |
value: statusObj[j] | |
}, | |
child: [{ | |
name: "text", | |
html: statusObj[j] | |
}] | |
})); | |
candStatusSel.hide(); | |
var issearch = statusObj.length > 10 ? !0 : !1, | |
scrollObj = {}; | |
issearch && (scrollObj = { | |
toindex: "10", | |
fromindex: "11", | |
shownext: "true", | |
module: "Leads", | |
callee: "ZRCommonUtil.loadFilterData", | |
mode: "list", | |
url: "/recruit/ShowStatusInfo.do" | |
}), ZRComponent.customSelect(candStatusSel, { | |
id: "cand_status", | |
minlength: 3, | |
ismultiple: !0, | |
restrictOptions: !0, | |
issearch: issearch, | |
url: "/recruit/FilterAction.do", | |
urldata: { | |
searchmodule: "Leads", | |
searchcolumn: "statuslist" | |
}, | |
selectclass: "w240 ac-bdr2 mT5", | |
isScroll: issearch, | |
scrollObj: scrollObj, | |
tooltipchar: 25 | |
}) | |
} else | |
$("#cand_filter").remove() | |
}, | |
loadCandFilter: function(isToggle) { | |
ZRCommonUtil.ajaxPostMethod("/recruit/FilterAction.do", { | |
moduleList: "Potentials;Leads" | |
}, !0, "json", void 0, function(data) { | |
var dataObj = data; | |
if (void 0 == dataObj.jobObj && void 0 == dataObj.statusObj) | |
alert(I18n.getMsg("crm.security.error.add.user")); | |
else if (ZRCommonUtil.getFilterComponent(), ZRCommonUtil.getJobFilter(dataObj.jobObj), ZRCommonUtil.getCandStatusFilter(dataObj.statusObj), isToggle && ZRCommonUtil.getToggleAction(), "jobfilter" == ZRCommonUtil.FILTERRECORDS) { | |
if (void 0 != ZRCommonUtil.FILTERJOBID && void 0 != ZRCommonUtil.FILTERJOBNAME && "" != ZRCommonUtil.FILTERJOBID && "" != ZRCommonUtil.FILTERJOBNAME) { | |
var assJobDiv = $("#custom-select-placeholder-ass-job-opening"); | |
if (assJobDiv.length > 0) { | |
var dotValObj = ZRCommonUtil.getDotVal(ZRCommonUtil.FILTERJOBNAME, 25); | |
assJobDiv.text(dotValObj.dotVal), assJobDiv.attr("title", dotValObj.title), assJobDiv.append(Utils.createHTML({ | |
name: "input", | |
attr: { | |
id: "custom-select-placeholder-value-ass-job-opening", | |
type: "hidden", | |
value: ZRCommonUtil.FILTERJOBID, | |
"data-dlabel": ZRCommonUtil.FILTERJOBNAME | |
} | |
})) | |
} | |
} | |
if (void 0 != ZRCommonUtil.FILTERCANDSTATUS && "" != ZRCommonUtil.FILTERCANDSTATUS) { | |
var candStatusDiv = $("#custom-select-placeholder-cand_status"); | |
if (candStatusDiv.length > 0) { | |
var dotValObj = ZRCommonUtil.getDotVal(ZRCommonUtil.FILTERCANDSTATUS, 25); | |
candStatusDiv.text(dotValObj.dotVal), candStatusDiv.attr("title", dotValObj.title), candStatusDiv.append(Utils.createHTML({ | |
name: "input", | |
attr: { | |
id: "custom-select-placeholder-value-cand_status", | |
type: "hidden", | |
value: ZRCommonUtil.FILTERCANDSTATUS, | |
"data-dlabel": ZRCommonUtil.FILTERCANDSTATUS | |
} | |
})) | |
} | |
} | |
} | |
$("#filteredWordDiv").remove() | |
}, function() { | |
alert(I18n.getMsg("crm.security.error.add.user")) | |
}) | |
}, | |
getUserFilter: function(module) { | |
var selMailVar = $("#selectMails"); | |
if (selMailVar.length && 0 === $("#custom-select-container-selectMails").length) { | |
var createElem = Utils.createHTML({ | |
name: "div", | |
child: [{ | |
name: "div", | |
attr: { | |
id: "user-holder", | |
"class": "usercont-holder-blk" | |
}, | |
child: [{ | |
name: "select", | |
attr: { | |
id: "selectMails1" | |
} | |
}] | |
}] | |
}); | |
$("#userDiv").append(createElem); | |
var userSelect = $("#selectMails1"); | |
userSelect.append(selMailVar.html()), $("#selectMails1 option").each(function() { | |
$(this).attr("tabindex", "-1") | |
}), selMailVar.remove(), $("#selectMails1").attr("id", "selectMails"), selMailVar = $("#selectMails"), selMailVar.change(function() { | |
"Accounts" === module ? showMailsList("" + $("#firstContact").val(), "", "", "" + $("#mailListRelId").val(), "-10", "next", "", "true", CURRMODULE, "true") : showMailsList("" + $("#entityId").val(), "", "", "" + $("#mailListRelId").val(), "-10", "next", "", "true", module, "true") | |
}), selMailVar.hide(); | |
var changefn = function(target, params) { | |
var liVal = $(target).data("customval"); | |
$("#selectMails").val(liVal), ZRComponent.onChangeAction(target, params), selMailVar.change() | |
}; | |
ZRComponent.customSelect(userSelect, { | |
id: "selectMails", | |
changefn: changefn, | |
isselect: !1, | |
selectclass: "w240 ac-bdr2 mT5", | |
isScroll: !1, | |
scrollObj: !1, | |
tooltipchar: 25 | |
}), ZRCommonUtil.resetUserFilter() | |
} | |
$("#usersMainDiv").show() | |
}, | |
resetUserFilter: function() { | |
var userVal = $("#selectMails").val(); | |
$("#custom-select-list-selectMails").find("li").each(function() { | |
var liVal = $(this).data("customval") + ""; | |
if (userVal === liVal) { | |
$(this).attr("class", "active"); | |
var val = $(this).text(), | |
placeHldr = $("#custom-select-placeholder-value-selectMails"); | |
placeHldr.attr("data-dlabel", $(this).data("dlabel")), placeHldr.val(liVal); | |
var custPlaceHolder = $("#custom-select-placeholder-selectMails"); | |
custPlaceHolder.empty(), custPlaceHolder.append(val), custPlaceHolder.append(placeHldr) | |
} | |
}) | |
}, | |
loadVendorFilter: function() { | |
ZRCommonUtil.ajaxPostMethod("/recruit/FilterAction.do", { | |
moduleList: "Vendors" | |
}, !0, "json", void 0, function(data) { | |
var dataObj = data; | |
void 0 != dataObj.contObj ? ZRCommonUtil.getVendorFilter(dataObj.contObj) : crmui.showMsgBand("error", I18n.getMsg("crm.label.recordNotAvailable"), "infinity") | |
}) | |
}, | |
getVendorFilter: function(contObj) { | |
if (contObj && (contObjArr = contObj && contObj.contObjArr ? contObj.contObjArr : [], contObjArr && contObjArr.length > 0)) { | |
var createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
id: "ass-vendor-holder" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "vendor-holder" | |
}, | |
child: [{ | |
name: "select", | |
attr: { | |
id: "ass-vendor-names" | |
} | |
}] | |
}] | |
}); | |
$("#assvendor").append(createElem); | |
for (var contList = $("#ass-vendor-names"), j = 0; j < contObjArr.length; j++) { | |
var contId = contObjArr[j].value; | |
contList.append(Utils.createHTML({ | |
name: "option", | |
attr: { | |
tabindex: "-1", | |
value: contId + "" | |
}, | |
text: contObjArr[j].label | |
})) | |
} | |
contList.hide(); | |
var issearch = contObj && contObj.showNext ? contObj.showNext : !1, | |
scrollObj = {}; | |
issearch && (scrollObj = { | |
toindex: "10", | |
fromindex: "11", | |
shownext: "true", | |
module: "Vendors", | |
callee: "ZRCommonUtil.loadFilterData", | |
mode: "filterJobList", | |
url: "/recruit/GetJoList.do" | |
}); | |
var cancelfn = function(target, params) { | |
var selId = params && params.id ? "-" + params.id : ""; | |
"-ass-vendor-names" === selId && crmListView.bindPerfectScrollbar(), ZRComponent.defaultCancel(target, params) | |
}, | |
changefn = function(target, params) { | |
var selId = params && params.id ? "-" + params.id : "", | |
tgtlabel = $(target).data("dlabel"), | |
tgtval = $(target).data("customval") + ""; | |
if ("-ass-vendor-names" === selId) { | |
crmListView.bindPerfectScrollbar(); | |
var ipEle = $("#assVendorVal"); | |
ipEle.val(tgtval + ":" + tgtlabel) | |
} | |
ZRComponent.onChangeAction(target, params) | |
}, | |
customclick = function(target, params) { | |
target = void 0 != target && "object" == typeof target ? target : {}, target.afterClose = function() { | |
$("#lv_filter_scroll").perfectScrollbar() | |
}, target.afterOpen = function() { | |
$("#lv_filter_scroll").perfectScrollbar("destroy") | |
}, ZRComponent.customClick(target, params) | |
}; | |
ZRComponent.customSelect(contList, { | |
id: "ass-vendor-names", | |
minlength: 3, | |
issearch: issearch, | |
url: "/recruit/FilterAction.do", | |
urldata: { | |
searchmodule: "Vendors", | |
searchcolumn: "vendorname" | |
}, | |
selectclass: "w150 ac-bdr2 mT5", | |
isScroll: issearch, | |
scrollObj: scrollObj, | |
tooltipchar: 25, | |
cancelfn: cancelfn, | |
changefn: changefn, | |
customclick: customclick, | |
ulclass: "maxH150 ", | |
reswidth: "200" | |
}) | |
} | |
}, | |
getContFilter: function(contObj) { | |
if (contObj && (contObjArr = contObj && contObj.contObjArr ? contObj.contObjArr : [], contObjArr && contObjArr.length > 0)) { | |
var createElem = Utils.createHTML({ | |
name: "div", | |
child: [{ | |
name: "div", | |
attr: { | |
id: "cont-holder", | |
"class": "usercont-holder-blk" | |
}, | |
child: [{ | |
name: "select", | |
attr: { | |
id: "cont-list" | |
} | |
}] | |
}] | |
}); | |
$("#contactsDiv").append(createElem); | |
var contList = $("#cont-list"); | |
contList.append(Utils.createHTML({ | |
name: "option", | |
attr: { | |
tabindex: "-1", | |
value: $("#firstContact").val() + "" | |
}, | |
html: "--" + I18n.getMsg("crm.label.all") + "--" | |
})); | |
for (var j = 0; j < contObjArr.length; j++) { | |
var contId = contObjArr[j].value; | |
contList.append(Utils.createHTML({ | |
name: "option", | |
attr: { | |
tabindex: "-1", | |
value: contId + "" | |
}, | |
html: contObjArr[j].label | |
})) | |
} | |
contList.hide(); | |
var issearch = contObj && contObj.showNext ? contObj.showNext : !1, | |
scrollObj = {}, | |
entId = $("#entityId").val(); | |
issearch && (scrollObj = { | |
toindex: "10", | |
fromindex: "11", | |
shownext: "true", | |
module: "Contacts", | |
callee: "ZRCommonUtil.loadFilterData", | |
mode: "filterContList", | |
url: "/recruit/GetModuleRecords.do", | |
entityId: entId | |
}); | |
var changefn = function(target, params) { | |
var liVal = $(target).data("customval"), | |
liLab = $(target).data("dlabel"); | |
$("#firstContact").val(liVal); | |
var personId = $("#mailListRelId").val(); | |
ZRComponent.onChangeAction(target, params), CURRMODULE = liLab === "--" + I18n.getMsg("crm.label.all") + "--" ? "Accounts" : "Contacts", showMailsList("" + liVal, "", "", "" + personId, "-10", "next", "", "true", CURRMODULE, "true") | |
}; | |
CURRMODULE = "Accounts", ZRComponent.customSelect(contList, { | |
id: "cont-list", | |
changefn: changefn, | |
isselect: !1, | |
minlength: 3, | |
issearch: issearch, | |
url: "/recruit/FilterAction.do", | |
urldata: { | |
searchmodule: "Contacts", | |
searchcolumn: "FULLNAME" | |
}, | |
selectclass: "w240 ac-bdr2 mT5", | |
isScroll: issearch, | |
scrollObj: scrollObj, | |
tooltipchar: 25 | |
}), showMailsList("" + $("#firstContact").val(), "", "", "" + $("#mailListRelId").val(), "-10", "next", "", "true", "Accounts", "true"), $("#contactsMainDiv").show() | |
} | |
}, | |
loadContFilter: function(module) { | |
if ("Accounts" === module && 0 === $("#cont-list").length) { | |
var entId = $("#entityId").val(); | |
ZRCommonUtil.ajaxPostMethod("/recruit/FilterAction.do", { | |
moduleList: "Contacts", | |
entityId: entId | |
}, !0, "json", void 0, function(data) { | |
var dataObj = data; | |
void 0 != dataObj.contObj ? ZRCommonUtil.getContFilter(dataObj.contObj) : ($("#contactsDiv").remove(), $("#usersMainDiv").remove(), showMailsList("" + $("#firstContact").val(), "", "", "" + $("#mailListRelId").val(), "-10", "next", "", "true", "Accounts", "true")) | |
}) | |
} | |
}, | |
getContentForFilter: function() { | |
"jobfilter" == ZRCommonUtil.FILTERRECORDS ? $("#filterBeforeMainDiv").length <= 0 ? ZRCommonUtil.loadCandFilter(!1) : ZRCommonUtil.getToggleAction() : $("#filterSec").length <= 0 ? ZRCommonUtil.loadCandFilter(!0) : ZRCommonUtil.getToggleAction() | |
}, | |
getToggleAction: function() { | |
var filterMainDiv = $("#filterMainDiv"), | |
arowbx = $("#arowbx"); | |
filterMainDiv.length > 0 && filterMainDiv.is(":visible") ? arowbx.hide() : arowbx.show(), filterMainDiv.slideToggle(), $("#filterIc").toggleClass("filterIcSel") | |
}, | |
getFilterResultDisplay: function() { | |
var createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "pT20 pB10 pL20 pR10 bdr1px pR whiteBg tac maxH60 oveA", | |
id: "filteredWordDiv" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "pA rig10 top5 f16" | |
}, | |
html: "×", | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.removeFilterComponent" | |
}] | |
}, { | |
name: "ul", | |
attr: { | |
id: "filteredWord", | |
"class": "pB10 filteredTxt dIB" | |
} | |
}] | |
}); | |
$("#filterMainDiv").append(createElem), $("#filterMainDiv").attr("class", "dB"); | |
var dotValObj = void 0; | |
if ("jobfilter" == ZRCommonUtil.FILTERRECORDS && ZRCommonUtil.FILTERJOBID && "" != ZRCommonUtil.FILTERJOBID && (dotValObj = ZRCommonUtil.getDotVal(ZRCommonUtil.FILTERJOBNAME, 20), $("#filteredWord").append(Utils.createHTML({ | |
name: "li", | |
attr: { | |
tabindex: "-1", | |
"data-seljob": ZRCommonUtil.FILTERJOBID, | |
title: dotValObj.title | |
}, | |
html: dotValObj.dotVal, | |
child: [{ | |
name: "i", | |
attr: { | |
"class": "fa fa-times" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.updateFilterComponentResults" | |
}] | |
}] | |
}))), ZRCommonUtil.FILTERCANDSTATUS && "" != ZRCommonUtil.FILTERCANDSTATUS) | |
for (var tempstatus = ZRCommonUtil.FILTERCANDSTATUS.split(";"), i = 0; i < tempstatus.length; i++) | |
dotValObj = ZRCommonUtil.getDotVal(tempstatus[i], 20), $("#filteredWord").append(Utils.createHTML({ | |
name: "li", | |
attr: { | |
tabindex: "-1", | |
"data-candstatus": tempstatus[i], | |
title: dotValObj.title | |
}, | |
child: [{ | |
name: "text", | |
html: dotValObj.dotVal | |
}, { | |
name: "i", | |
attr: { | |
"class": "fa fa-times" | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.updateFilterComponentResults" | |
}] | |
}] | |
})); | |
$("#arowbx").show() | |
}, | |
getFilterComponentResults: function(event, target, checkType) { | |
if (checkType && "" != checkType) { | |
if ("jobfilter" == checkType) { | |
var assJobDiv = $("#custom-select-placeholder-value-ass-job-opening"), | |
candStatusDiv = $("#custom-select-placeholder-value-cand_status"); | |
if (!(assJobDiv.length > 0 || candStatusDiv.length > 0)) | |
return; | |
$(target).attr("disabled", !0); | |
var selJobId = void 0, | |
selJobName = void 0, | |
selCandStatus = void 0; | |
assJobDiv.length > 0 && (selJobId = assJobDiv.val(), selJobName = assJobDiv.data("dlabel")), ZRCommonUtil.FILTERJOBID = selJobId && "" != selJobId ? selJobId : "", ZRCommonUtil.FILTERJOBNAME = selJobName && "" != selJobName ? selJobName : "", ZRCommonUtil.FILTERRECORDS = "jobfilter", candStatusDiv.length > 0 && (selCandStatus = candStatusDiv.val()), ZRCommonUtil.FILTERCANDSTATUS = selCandStatus && "" != selCandStatus ? selCandStatus : "" | |
} | |
if ("jobfilter" == ZRCommonUtil.FILTERRECORDS || "asspopout" == ZRCommonUtil.FILTERRECORDS) { | |
var urlData = {}; | |
urlData.jobtitle = ZRCommonUtil.FILTERJOBNAME, urlData.jobId = ZRCommonUtil.FILTERJOBID, urlData.module = "Leads", urlData.cvid = $("#cvid").val(), urlData.searchletter = $("input[name=searchletter]").val(), urlData.isload = !0, urlData.filterrecords = ZRCommonUtil.FILTERRECORDS, urlData.status = ZRCommonUtil.FILTERCANDSTATUS, ZRCommonUtil.ajaxPostMethod("/recruit/ShowDetails.do", urlData, !0, "json", void 0, function(obj) { | |
crmListView.createTemplate(ZRCommonUtil.convertStringToJson(obj)), crmNavig.parseCurrentListView(); | |
var refreshParams = { | |
clickId: "tab", | |
calleeObj: "crmDummy", | |
module: "Leads", | |
orgCalleeObj: "crmTab" | |
}; | |
"" != ZRCommonUtil.FILTERJOBID && (refreshParams.jobId = ZRCommonUtil.FILTERJOBID), Crm.addToHistory(void 0, void 0, refreshParams) | |
}, function() { | |
alert(I18n.getMsg("crm.security.error.add.user")) | |
}) | |
} | |
} | |
}, | |
updateFilterComponentResults: function(event, tgt) { | |
var currentSel = void 0, | |
mainObj = {}; | |
if ("jobfilter" == ZRCommonUtil.FILTERRECORDS && $(tgt.parentNode).data("seljob")) | |
currentSel = $(tgt.parentNode).data("seljob"), mainObj = CUSTOMSELECTOBJARR["custom-select-placeholder-ass-job-opening"], void 0 != mainObj && mainObj.length > 0 && (mainObj = $.grep(mainObj, function(obbbj) { | |
return obbbj.value != currentSel | |
}), CUSTOMSELECTOBJARR["custom-select-placeholder-ass-job-opening"] = mainObj); | |
else if ($(tgt.parentNode).data("candstatus")) { | |
currentSel = $(tgt.parentNode).data("candstatus"); | |
var objkey = void 0; | |
"jobfilter" == ZRCommonUtil.FILTERRECORDS ? objkey = "custom-select-placeholder-cand_status" : "asspopout" == ZRCommonUtil.FILTERRECORDS && (objkey = "custom-select-placeholder-ass_cand_status"), mainObj = CUSTOMSELECTOBJARR[objkey], void 0 != mainObj && mainObj.length > 0 && (mainObj = $.grep(mainObj, function(obbbj) { | |
return obbbj.value != currentSel | |
}), CUSTOMSELECTOBJARR[objkey] = mainObj) | |
} | |
var selJobId = "", | |
selCandStatus = "", | |
selJobName = "", | |
filteredList = $("#filteredWord").find("li"); | |
if ($.each(filteredList, function(j, item) { | |
var current = $(item); | |
"jobfilter" == ZRCommonUtil.FILTERRECORDS && current.data("seljob") && current.data("seljob") != currentSel && (selJobId = current.data("seljob"), selJobName = current.text()), current.data("candstatus") && current.data("candstatus") != currentSel && (selCandStatus = void 0 == selCandStatus || "" == selCandStatus ? current.data("candstatus") : selCandStatus + ";" + current.data("candstatus")) | |
}), "jobfilter" == ZRCommonUtil.FILTERRECORDS && (ZRCommonUtil.FILTERJOBID = selJobId, ZRCommonUtil.FILTERJOBNAME = selJobName), ZRCommonUtil.FILTERCANDSTATUS = selCandStatus, selJobId && "" != selJobId || selCandStatus && "" != selCandStatus) { | |
var parentUl = $(tgt).closest("ul"); | |
parentUl.find($(tgt).parent()).remove(); | |
var urlData = {}; | |
urlData.jobtitle = ZRCommonUtil.FILTERJOBNAME, urlData.jobId = ZRCommonUtil.FILTERJOBID, urlData.module = "Leads", urlData.cvid = $("#cvid").val(), urlData.searchletter = $("input[name=searchletter]").val(), urlData.isload = !0, urlData.filterrecords = ZRCommonUtil.FILTERRECORDS, urlData.status = ZRCommonUtil.FILTERCANDSTATUS, ZRCommonUtil.ajaxPostMethod("/recruit/ShowDetails.do", urlData, !0, "html", void 0, function(obj) { | |
crmListView.createTemplate(ZRCommonUtil.convertStringToJson(obj)), crmNavig.parseCurrentListView(); | |
var refreshParams = { | |
clickId: "tab", | |
calleeObj: "crmDummy", | |
module: module, | |
orgCalleeObj: "crmTab" | |
}; | |
"" != ZRCommonUtil.FILTERJOBID && (refreshParams.jobId = ZRCommonUtil.FILTERJOBID), Crm.addToHistory(void 0, void 0, refreshParams) | |
}, function() { | |
alert(I18n.getMsg("crm.security.error.add.user")) | |
}) | |
} else | |
ZRCommonUtil.removeFilterComponent(event, tgt) | |
}, | |
refreshList: function(event, target, params) { | |
var state = History.getState(); | |
void 0 == params && (params = {}); | |
var paramsFilter = state.data, | |
isAssoList = $("[name=isAssoList]").val(); | |
"true" === isAssoList && (params.action = "assoTab"), $("#assoFilterPattern").length && void 0 != $("#assoFilterPattern").val() && (params.assoFilterPattern = $("#assoFilterPattern").val()); | |
var assoEntId = $("[name=assoEntId]").val(); | |
void 0 !== assoEntId && (params.assoEntId = assoEntId); | |
var candId = $("[name=candId]").val(); | |
if (void 0 !== candId && (params.candId = candId), void 0 != paramsFilter && "true" == paramsFilter.isSearch) | |
for (var key in paramsFilter) | |
params.hasOwnProperty(key) || (params[key] = decodeURIComponent(paramsFilter[key])); | |
else | |
params.module = customViewObject.module, params.cvid = customViewObject.cvId, params.fromIndex = customViewObject.fromIndex, params.toIndex = customViewObject.toIndex, params.currentOption = customViewObject.currentOption, params.refresh = !0, params.clickId = "refreshTab", params.calleeObj = "crmTab"; | |
crmTab.open(event, target, void 0, params) | |
}, | |
removeFilterComponent: function(event, target) { | |
if (CUSTOMSELECTOBJARR = {}, "jobfilter" == ZRCommonUtil.FILTERRECORDS) | |
ZRCommonUtil.FILTERRECORDS = "", ZRCommonUtil.FILTERJOBID = "", ZRCommonUtil.FILTERCANDSTATUS = "", ZRCommonUtil.FILTERJOBNAME = "", ZRCommonUtil.refreshList(event, target); | |
else if ("asspopout" == ZRCommonUtil.FILTERRECORDS) | |
ZRCommonUtil.FILTERCANDSTATUS = "", ZRCommonUtil.refreshList(event, target); | |
else { | |
$("#filterMainDiv").hide(); | |
var arowbx = $("#arowbx"), | |
checkPresence = arowbx.length > 0 ? !0 : !1; | |
checkPresence && (arowbx.is(":visible") ? arowbx.hide() : arowbx.show()), $("#filterSec").remove() | |
} | |
}, | |
candBulkChangeStatus: function(module, jobId) { | |
var filterJobId = ""; | |
null != jobId && void 0 != jobId && "" != jobId && (filterJobId = jobId); | |
var noofrows = crmTab.getFromCache(module).body.length; | |
if (0 == noofrows && (noofrows = crmTab.getFromCache(module).address.address_jsonarrayObj.length), checked = crmTab.getFromCache(module).selectedIds.length, 0 == checked) { | |
var str = I18n.getMsg("crm.alert.select.one"); | |
return alert(str), !1 | |
} | |
var append_ids = crmTab.getFromCache(module).selectedIds.join(";"); | |
ZRStatusUtil.loadChangeStatus({}, function(json) { | |
if (json && json.message && "success" === json.message) { | |
var liStr = "", | |
statusList = json.statusList, | |
fromIndex = json.fromIndex, | |
toIndex = json.toIndex, | |
startlimit = parseInt(fromIndex) + parseInt(toIndex); | |
jobStyle = "" == ZRCommonUtil.FILTERJOBNAME || "Unassociated" == ZRCommonUtil.FILTERJOBNAME ? "display:none" : "display:block"; | |
for (var i = 0; i < statusList.length; i++) { | |
var statusObj = statusList[i]; | |
liStr = liStr + "<li class='statuseach' data-status='" + statusObj.label + "' data-actualstatus='" + statusObj.label + "'>" + statusObj.label + "</li>" | |
} | |
var closeFun = function() { | |
$("#bg-light").hide(), $(".bulk-update-block").remove() | |
}, | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "bulk-update-block" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "btn-close-asso", | |
href: "javascript:void(0)" | |
}, | |
events: [{ | |
name: "click", | |
fn: closeFun | |
}] | |
}, { | |
name: "h4", | |
html: I18n.getMsg("crm.potential.relatedlist.changestatus") | |
}, { | |
name: "div", | |
attr: { | |
"class": "content", | |
style: "max-height:360px" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "bulk-field-block" | |
}, | |
child: [{ | |
name: "label", | |
html: I18n.getMsg("crm.workflow.task.status") | |
}, { | |
name: "p", | |
attr: { | |
"class": "cs", | |
id: "change-status-select", | |
"class": "change-status-select mB20" | |
}, | |
child: [{ | |
name: "span" | |
}], | |
html: "-" + I18n.getMsg("None") + "-" | |
}, { | |
name: "ul", | |
attr: { | |
"class": "change-status-list", | |
id: "change-status-list", | |
style: "display:none" | |
}, | |
html: liStr | |
}, { | |
name: "label", | |
attr: { | |
style: jobStyle | |
}, | |
html: I18n.getMsg("Potential") | |
}, { | |
name: "input", | |
attr: { | |
type: "text", | |
"class": "pd w350 inpt mB20", | |
value: ZRCommonUtil.FILTERJOBNAME, | |
style: jobStyle, | |
readonly: "readonly" | |
} | |
}, { | |
name: "label", | |
html: I18n.getMsg("crm.potential.associate.popout.entercomments") | |
}, { | |
name: "textarea", | |
attr: { | |
placeholder: I18n.getMsg("crm.potential.associate.popout.entercomments"), | |
"class": "textareachk", | |
"data-textarea": '{"maxlength": 6000, "minlength": 100, "method": "after"}', | |
id: "change-status-comment", | |
value: "" | |
}, | |
html: "" | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "cB mB10", | |
id: "unqualify-checkbox", | |
style: "margin:10px 0 0 0px; !important; display:none;" | |
}, | |
child: [{ | |
name: "label", | |
attr: { | |
"class": "gray2" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "checkbox", | |
id: "unqualify-checkbox-boolean", | |
name: "isCandLocked" | |
} | |
}, { | |
name: "span", | |
attr: { | |
id: "unqualify-checkbox-value" | |
}, | |
html: I18n.getMsg("crm.status.lockoption") | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "mT20 fL" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
"class": "primarybtn mR10", | |
type: "button", | |
"data-pkid": append_ids, | |
"data-jobid": filterJobId, | |
"data-module": "Leads", | |
"data-action": "bulk", | |
id: "change-filter-status-btn", | |
value: I18n.getMsg("crm.button.update") | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.updateBulkCandStatus" | |
}] | |
}, { | |
name: "input", | |
attr: { | |
type: "button", | |
"class": "newgraybtn", | |
value: I18n.getMsg("crm.button.cancel") | |
}, | |
events: [{ | |
name: "click", | |
fn: closeFun | |
}] | |
}] | |
}] | |
}] | |
}); | |
$("body").append(createElem), ZRCommonUtil.openDialog(".bulk-update-block"), $("#bg-light").css({ | |
"z-index": "1022" | |
}), $("#change-status-select").data("status", "-None-"); | |
var ulElem = $("#change-status-list"); | |
ulElem.data("scrolldata", '{"toindex": "' + toIndex + '", "fromindex":"' + startlimit + '", "shownext":"' + json.showNext + '", "module":"' + json.module + '", "mode":"' + json.mode + '", "pastediv":"#change-status-list", "callee":"ZRStatusUtil"}'), ZRCommonUtil.fetchScrollData(ulElem) | |
} | |
}, function(json) { | |
json && json.message && "failure" === json.message && alert(I18n.getMsg("crm.security.error.add.user")) | |
}) | |
}, | |
updateBulkCandStatus: function(event) { | |
var tgt = $(event.target), | |
resumeId = tgt.data("pkid"), | |
jobopeningId = tgt.data("jobid"), | |
action = tgt.data("action"); | |
action = action && null !== action ? action : "single"; | |
var isunqal = $("#unqualify-checkbox-boolean").is(":checked"), | |
params = {}; | |
return params.resumeid = resumeId, "Unassociated" != jobopeningId && (params.jobid = jobopeningId), params.module = tgt.data("module"), params.mode = "change", params.description = $("#change-status-comment").val(), params.status = $("#change-status-select").data("status"), params.actualStatus = $("#change-status-select").data("actualstatus"), params.action = action, params.fromindex = $("#fromIndex").val(), params.toindex = $("#toIndex").val(), params.ischecked = isunqal ? !0 : !1, void 0 === params.actualStatus || "-None-" === params.actualStatus ? (alert(I18n.getMsg("crm.potential.associatepopoutpage.changestatus.emptycheck")), !1) : (ZRStatusUtil.updateChangeStatus(params, function(json) { | |
json && json.message && "success" === json.message && (!params.action || "bulk" !== params.action && "all" !== params.action || setTimeout(function() { | |
$("#bg-light").hide(), $(".bulk-update-block,.notes-block").remove(), ZRCommonUtil.showSuccessMessage(I18n.getMsg("crm.label.success.status")) | |
}, 200)) | |
}, function(json) { | |
json && json.message && "failure" === json.message && alert(I18n.getMsg("crm.security.error.add.user")) | |
}), void ZRCommonUtil.refreshList(event, tgt)) | |
}, | |
loadFilterData: function(params, callbackFun) { | |
var fromindex = params.fromindex ? params.fromindex : "1", | |
toindex = params.toindex ? params.toindex : "5", | |
module = params && params.module ? params.module : "Leads", | |
minlength = params && params ? params.minlength : 3, | |
mode = params && params.mode ? params.mode : "list", | |
isMultiple = params && params.ismultiple ? params.ismultiple : !1, | |
url = params && params.url ? params.url : "", | |
restrictOptions = params && params.restrictOptions ? params.restrictOptions : !1, | |
selId = params && params.id ? params.id : "", | |
searchtxt = params && params.searchtxt ? params.searchtxt : "", | |
pasteDiv = $(params.pastediv), | |
entityId = params && params.entityId ? params.entityId : "", | |
placeHolder = params && params.placeholder ? params.placeholder : I18n.getMsg("crm.select"), | |
tooltipchar = params && params.tooltipchar ? params.tooltipchar : 25, | |
restrictMsg = params && params.restrictMsg ? params.restrictMsg : I18n.getMsg("custom.select.component.restrict.message"), | |
urlData = {}; | |
urlData.module = module, urlData.fromindex = fromindex, urlData.toindex = toindex, urlData.mode = mode, urlData.searchtxt = searchtxt, urlData.prevLoadImg = !0, params && params.urldata && "object" == typeof params.urldata && $(Object.keys(params.urldata)).each(function() { | |
urlData[this.toString()] = params.urldata[this] | |
}), "" !== entityId && (urlData.entityId = entityId); | |
var loadingImg = $("#loadingimg-" + selId); | |
loadingImg.show(), ZRCommonUtil.ajaxPostMethod(url, urlData, !0, "html", pasteDiv, function(obj, pasteDiv) { | |
if (loadingImg.hide(), json = ZRCommonUtil.convertStringToJson(obj), json && json.message && "success" === json.message) { | |
var currOpn = [], | |
currOpnVal = []; | |
$(params.pastediv + "> li").each(function(i, item) { | |
var liText = $(item).data("dlabel"); | |
currOpn.push(liText), currOpnVal.push($(item).data("customval") + "") | |
}); | |
var resList = void 0; | |
"Potentials" == module ? resList = json.potentialList : "Leads" == module ? resList = json.statusList : "Contacts" == module ? resList = json.autoList : "Questionnaires" == module && (resList = json.results ? json.results : []); | |
var fromIndex = json.fromIndex, | |
toIndex = json.toIndex, | |
startlimit = parseInt(fromIndex) + parseInt(toIndex); | |
loadingImg.remove(); | |
for (var i = 0; i < resList.length; i++) { | |
var resObj = {}; | |
if ("Potentials" == module ? resObj = { | |
label: resList[i].potentialName, | |
value: resList[i].potentialId | |
} : "Leads" == module ? (resObj = resList[i], resObj.value = resObj.label) : "Contacts" == module ? resObj = { | |
label: resList[i].label, | |
value: resList[i].value | |
} : "Questionnaires" == module && (resObj = { | |
label: resList[i].label, | |
value: "" + resList[i].value | |
}), currOpn.indexOf(resObj.label) > -1 && currOpnVal.indexOf(resObj.value) > -1 && "-None-" != resObj.label) { | |
var dotValObj = ZRCommonUtil.getDotVal(resObj.label, tooltipchar); | |
pasteDiv.append(isMultiple ? Utils.createHTML({ | |
name: "li", | |
attr: { | |
tabindex: "-1", | |
"data-customval": resObj.value, | |
title: dotValObj.title, | |
style: "display:none", | |
"data-dlabel": resObj.label | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "checkbox", | |
value: resObj.value | |
}, | |
events: [{ | |
name: "change", | |
fn: "ZRComponent.checkRestrictOptions", | |
args: [params] | |
}] | |
}, { | |
name: "text", | |
html: dotValObj.dotVal | |
}] | |
}) : Utils.createHTML({ | |
name: "li", | |
attr: { | |
tabindex: "-1", | |
"data-customval": resObj.value, | |
title: dotValObj.title, | |
style: "display:none", | |
"data-dlabel": resObj.label | |
}, | |
html: dotValObj.dotVal | |
})) | |
} else | |
pasteDiv.append(ZRComponent.formatResult(resObj, params)) | |
} | |
pasteDiv.append(Utils.createHTML({ | |
name: "li", | |
attr: { | |
"class": "ldg", | |
id: "loadingimg-" + selId | |
}, | |
child: [{ | |
name: "img", | |
attr: { | |
src: "//img.zohostatic.com/recruit/ZR_V5_Jun_26_2019/images/loading.gif", | |
alt: "Loading" | |
} | |
}] | |
})), $("#loadingimg-" + selId).hide(); | |
var dataobjstring = '{"toindex": "' + toIndex + '","mode":"' + json.mode + '","fromindex":"' + startlimit + '", "shownext":"' + json.showNext + '", "module":"' + json.module + '", "pastediv":"' + params.pastediv + '", "callee":"ZRCommonUtil.loadFilterData","ismultiple":' + isMultiple + ',"url":"' + url + '","id":"' + selId + '","restrictOptions":"' + restrictOptions + '","placeHolder":"' + placeHolder + '","searchtxt":"' + searchtxt + '","tooltipchar":' + tooltipchar + ',"restrictMsg":"' + restrictMsg + '","minlength":"' + minlength + '"}', | |
dataobj = JSON.parse(dataobjstring); | |
params && params.urldata && "object" == typeof params.urldata && (dataobj.urldata = params.urldata), pasteDiv.data("scrolldata", JSON.stringify(dataobj)), callbackFun && callbackFun() | |
} | |
}, function(xhr) { | |
var json = xhr.responseText; | |
json = ZRCommonUtil.convertStringToJson(json), errorFun && errorFun(json) | |
}) | |
}, | |
assPopOutStatusFilter: function() { | |
var arowbx = $("#arowbx"), | |
restrictMsg = I18n.getMsg("custom.select.component.restrict.message"); | |
if (0 == $("#ass_cand_status").length) | |
ZRCommonUtil.ajaxPostMethod("/recruit/FilterAction.do", { | |
moduleList: "Leads" | |
}, !0, "json", void 0, function(data) { | |
var dataObj = data; | |
if ("success" == dataObj.message && dataObj.statusObj && dataObj.statusObj.length > 0) { | |
var statusObj = dataObj.statusObj, | |
filterElemObj = $("#filterIc"), | |
positiondataobj = { | |
modal: "#custom-select-container-ass_cand_status", | |
placement: "bottom" | |
}; | |
filterElemObj.data("positiondata", JSON.stringify(positiondataobj)), filterElemObj.after(Utils.createHTML({ | |
name: "select", | |
attr: { | |
id: "ass_cand_status", | |
multiple: "multiple" | |
} | |
})); | |
for (var objsize = statusObj.length > 10 ? statusObj.length - 1 : statusObj.length, candStatusElt = $("#ass_cand_status"), j = 0; objsize > j; j++) | |
candStatusElt.append(Utils.createHTML({ | |
name: "option", | |
attr: { | |
tabindex: "-1", | |
value: statusObj[j] | |
}, | |
child: [{ | |
name: "text", | |
html: statusObj[j] | |
}] | |
})); | |
candStatusElt.hide(); | |
var issearch = statusObj.length > 10 ? !0 : !1, | |
scrollObj = {}; | |
issearch && (scrollObj = { | |
toindex: "10", | |
fromindex: "11", | |
shownext: "true", | |
module: "Leads", | |
callee: "ZRCommonUtil.loadFilterData", | |
mode: "list", | |
url: "/recruit/ShowStatusInfo.do" | |
}), ZRComponent.customSelect($("#ass_cand_status"), { | |
id: "ass_cand_status", | |
minlength: 3, | |
ismultiple: !0, | |
restrictOptions: !0, | |
restrictMsg: restrictMsg, | |
issearch: issearch, | |
url: "/recruit/FilterAction.do", | |
urldata: { | |
searchmodule: "Leads", | |
searchcolumn: "statuslist" | |
}, | |
selectclass: "w240 ac-bdr mT5", | |
isScroll: issearch, | |
scrollObj: scrollObj, | |
tooltipchar: 25, | |
okfn: ZRCommonUtil.assPopOutOkFun, | |
ispopover: !0, | |
popoverelem: filterElemObj, | |
cancelfn: ZRCommonUtil.assPopOutCancelFun | |
}); | |
var containerObj = $("#custom-select-container-ass_cand_status"); | |
if (containerObj.css("position", "absolute"), containerObj.css({ | |
top: 93 | |
}), $("#custom-select-placeholder-container-ass_cand_status").hide(), void 0 != ZRCommonUtil.FILTERCANDSTATUS && "" != ZRCommonUtil.FILTERCANDSTATUS) { | |
var candStatusDiv = $("#custom-select-placeholder-ass_cand_status"); | |
if (candStatusDiv.length > 0) { | |
var dotValObj = ZRCommonUtil.getDotVal(ZRCommonUtil.FILTERCANDSTATUS, 25); | |
candStatusDiv.text(dotValObj.dotVal), candStatusDiv.attr("title", dotValObj.title), candStatusDiv.append(Utils.createHTML({ | |
name: "input", | |
attr: { | |
id: "custom-select-placeholder-value-ass_cand_status", | |
type: "hidden", | |
value: ZRCommonUtil.FILTERCANDSTATUS, | |
"data-dlabel": ZRCommonUtil.FILTERCANDSTATUS | |
} | |
})) | |
} | |
} | |
ZRComponent.customClick({ | |
id: "ass_cand_status", | |
placeHolder: I18n.getMsg("crm.select"), | |
ismultiple: !0, | |
selectopntxt: I18n.getMsg("crm.select"), | |
restrictOptions: !0, | |
tooltipchar: 25, | |
restrictMsg: restrictMsg, | |
formatResult: ZRComponent.formatResult | |
}), arowbx.show() | |
} | |
}, function() { | |
alert(I18n.getMsg("crm.security.error.add.user")) | |
}); | |
else { | |
ZRComponent.customClick({ | |
id: "ass_cand_status", | |
placeHolder: I18n.getMsg("crm.select"), | |
ismultiple: !0, | |
selectopntxt: I18n.getMsg("crm.select"), | |
restrictOptions: !0, | |
tooltipchar: 25, | |
restrictMsg: restrictMsg, | |
formatResult: ZRComponent.formatResult | |
}); | |
var restrictMsgDiv = $("#custom-restrict-res-ass_cand_status"); | |
restrictMsgDiv.length > 0 && restrictMsgDiv.is(":visible") && (restrictMsgDiv.hide(), $("#custom-select-option-ass_cand_status").slideToggle()), arowbx.is(":visible") && 0 == $("#filteredWordDiv").length ? arowbx.hide() : arowbx.show() | |
} | |
}, | |
assPopOutOkFun: function(params) { | |
var hideElem = params && params.id ? "-" + params.id : "", | |
selectedDataVal = (params && params.placeholder ? params.placeholder : I18n.getMsg("crm.select"), params && params.ismultiple ? params.ismultiple : !1, params && params.selectopntxt ? params.selectopntxt : I18n.getMsg("crm.select"), params && params.restrictOptions ? params.restrictOptions : !1, params && params.tooltipchar ? params.tooltipchar : 25, params && params.restrictMsg ? params.restrictMsg : I18n.getMsg("custom.select.component.restrict.message"), void 0), | |
statusVal = $("#custom-select-placeholder-value" + hideElem); | |
statusVal && (selectedDataVal = statusVal.val()), void 0 == selectedDataVal ? $("#custom-restrict-res-ass_cand_status").html(I18n.getMsg("crm.potential.associate.popout.select.status")).show() : (ZRCommonUtil.FILTERCANDSTATUS = selectedDataVal, $("#custom-select-option" + hideElem).slideToggle(400, function() { | |
$("#arowbx").hide(), ZRCommonUtil.getFilterComponentResults("", "", "asspopout"), $("#custom-select-container" + hideElem).remove() | |
})) | |
}, | |
assPopOutCancelFun: function(target, params) { | |
var selId = params && params.id ? "-" + params.id : "", | |
arowbx = $("#arowbx"); | |
$("#custom-select-option" + selId).slideToggle(), arowbx.is(":visible") && 0 == $("#filteredWordDiv").length ? arowbx.hide() : arowbx.show() | |
}, | |
bulkUnassociateCand: function(module, jobId, candId) { | |
var noofrows = crmTab.getFromCache(module).body.length; | |
0 == noofrows && (noofrows = crmTab.getFromCache(module).address.address_jsonarrayObj.length); | |
var append_ids = crmTab.getFromCache(module).selectedIds.join(";"), | |
filterJobId = ""; | |
null != jobId && void 0 != jobId && "" != jobId && (filterJobId = jobId), "Potentials" !== module && "Leads" !== module || void 0 === candId || (append_ids = candId); | |
var closeFun = function() { | |
$("#bg-light").hide(), $(".bulk-update-block").remove() | |
}, | |
createElem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "bulk-update-block" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "btn-close-asso", | |
href: "javascript:void(0)" | |
}, | |
events: [{ | |
name: "click", | |
fn: closeFun | |
}] | |
}, { | |
name: "h4", | |
html: I18n.getMsg("Leads" === module ? "crm.potential.associate.popout.unassociatecandidate" : "crm.potential.associate.popout.unassociate") | |
}, { | |
name: "div", | |
attr: { | |
"class": "content" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "bulk-field-block" | |
}, | |
child: [{ | |
name: "label", | |
html: I18n.getMsg("crm.potential.associate.popout.entercomments") | |
}, { | |
name: "textarea", | |
attr: { | |
placeholder: I18n.getMsg("crm.potential.associate.popout.entercomments"), | |
"class": "textareachk", | |
"data-textarea": '{"maxlength": 6000, "minlength": 100, "method": "after"}', | |
id: "unassociate-comment", | |
value: "" | |
}, | |
html: "" | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "mT20 fL" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
"class": "primarybtn", | |
type: "button", | |
"data-pkid": append_ids, | |
"data-jobid": jobId, | |
"data-module": module, | |
value: I18n.getMsg("crm.potential.associate.popout.unassociate") | |
}, | |
events: [{ | |
name: "click", | |
fn: "ZRCommonUtil.unassociateCand" | |
}] | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "newgraybtn" | |
}, | |
events: [{ | |
name: "click", | |
fn: closeFun | |
}], | |
html: I18n.getMsg("crm.button.cancel") | |
}] | |
}] | |
}] | |
}); | |
$("body").append(createElem), ZRCommonUtil.openDialog(".bulk-update-block"), $("#bg-light").css({ | |
"z-index": "1022" | |
}) | |
}, | |
unassociateCand: function(event, target) { | |
var pkidStr = $(target).data("pkid"), | |
jobopeningId = $(target).data("jobid"); | |
if (pkidStr && 0 === pkidStr.length) | |
return alert(I18n.getMsg("crm.alert.select.one")), !1; | |
var params = {}; | |
params.module = $(target).data("module"); | |
var module = params.module, | |
candId = $("#candId").length ? $("#candId").val() : void 0 != $("#id").val() ? $("#id").val() : void 0; | |
"Leads" === module && (pkidStr = void 0 != candId && "" != candId ? candId : pkidStr); | |
var action = $(target).data("action"); | |
action = action && null !== action ? action : "single", params.mode = "unassociate", params.resumeid = pkidStr, params.jobid = jobopeningId, params.description = $("#unassociate-comment").val(), params.action = action; | |
var module = params.module; | |
ZRCommonUtil.ajaxPostMethod("/recruit/UnassociateData.do", params, !1, "html", void 0, function(json) { | |
json = ZRCommonUtil.convertStringToJson(json), json && json.message && "success" === json.message && ($("#bg-light").hide(), $(".bulk-update-block, .notes-block").remove(), ZRCommonUtil.showSuccessMessage(I18n.getMsg("crm.label.success.unassociate")), crmTab.deleteFromCache(module), crmTab.deleteFromCache("Potentials"), void 0 == $("#id").val() && ZRCommonUtil.refreshList(event, target, { | |
afterUnAss: !0 | |
})) | |
}, function(xhr) { | |
var json = ZRCommonUtil.convertStringToJson(xhr.responseText); | |
json && json.message && "failure" === json.message && alert(I18n.getMsg("crm.security.error.add.user")) | |
}) | |
}, | |
showHideSearchPopOver: function(obj, allKeyWordSearch) { | |
var ZRSEARCHMODULES = Crm.searchModules, | |
module = crmTab.selectedTab; | |
(void 0 == module || "" === module.trim() || -1 === ZRSEARCHMODULES.indexOf(module)) && (module = "AllEntities"); | |
var moduleDrop = $("#modulenamedrop"); | |
moduleDrop.val(module), $("#modulenamedrop").selectBox("destory").selectBox({ | |
box: !1, | |
callback: function(a, b) { | |
if ("create" === a) | |
$(b._dropdown).css({ | |
"border-radius": "10px", | |
"box-shadow": "0 1px 3px 0 rgba(63,63,68,.15)" | |
}); | |
else if ("open" === a) { | |
var pos = $(b._dropdown).position(); | |
$(b._dropdown).css({ | |
top: pos.top + 10 + "px", | |
left: pos.left - 14 + "px" | |
}) | |
} | |
} | |
}).on("change", function() { | |
var module = $(this).val(), | |
textBox = $("#gsearchTextBox"); | |
textBox.val("").focus(), "Contacts" === module || "Leads" === module ? textBox.attr("placeholder", I18n.getMsg("crm.ss.candidates.placeholder", Handlebars.helpers.getCrmModuleInfo(module))) : "Accounts" === module ? textBox.attr("placeholder", I18n.getMsg("crm.ss.clients.placeholder", Handlebars.helpers.getCrmModuleInfo(module))) : "Potentials" === module ? textBox.attr("placeholder", I18n.getMsg("crm.ss.jobopenings.placeholder", Handlebars.helpers.getCrmModuleInfo(module))) : "AllEntities" === module ? textBox.attr("placeholder", I18n.getMsg("crm.ss.common.placeholder", [Handlebars.helpers.getCrmModuleInfo("Leads"), Handlebars.helpers.getCrmModuleInfo("Potentials"), Handlebars.helpers.getCrmModuleInfo("Accounts"), Handlebars.helpers.getCrmModuleInfo("Contacts")])) : textBox.attr("placeholder", I18n.getMsg("crm.ss.search.module", Handlebars.helpers.getCrmModuleInfo(module))) | |
}); | |
var textBox = $("#gsearchTextBox"); | |
textBox.val(""), textBox.data().uiAutocomplete.term = null, "Contacts" === module || "Leads" === module ? textBox.attr("placeholder", I18n.getMsg("crm.ss.candidates.placeholder", Handlebars.helpers.getCrmModuleInfo(module))) : "Accounts" === module ? textBox.attr("placeholder", I18n.getMsg("crm.ss.clients.placeholder", Handlebars.helpers.getCrmModuleInfo(module))) : "Potentials" === module ? textBox.attr("placeholder", I18n.getMsg("crm.ss.jobopenings.placeholder", Handlebars.helpers.getCrmModuleInfo(module))) : "AllEntities" === module ? textBox.attr("placeholder", I18n.getMsg("crm.ss.common.placeholder", [Handlebars.helpers.getCrmModuleInfo("Leads"), Handlebars.helpers.getCrmModuleInfo("Potentials"), Handlebars.helpers.getCrmModuleInfo("Accounts"), Handlebars.helpers.getCrmModuleInfo("Contacts")])) : textBox.attr("placeholder", I18n.getMsg("crm.ss.search.module", Handlebars.helpers.getCrmModuleInfo(module))), void 0 != allKeyWordSearch && "" != allKeyWordSearch && textBox.val(allKeyWordSearch); | |
var advSearchUrl = "/recruit/CreateCV.do?module=" + module + "&isSearch=true"; | |
if (advSearchUrl = ZRCommonUtil.zrModChangeUrl(advSearchUrl), $("#CreateCustomView").attr("href", advSearchUrl), "asspopout" == ZRCommonUtil.FILTERRECORDS) { | |
var modulenamedrop = moduleDrop; | |
modulenamedrop.val("Leads"), modulenamedrop.prop("disabled", "disabled") | |
} else | |
moduleDrop.removeAttr("disabled"); | |
$(".ss-sugguest-block").hide().find(".ss-sugguest-block").html(""), $(".new-simple-search").css({ | |
top: $("#tabLayer").position().top + "px" | |
}).show().find(".ss-no-result").hide().html(""), $("#modulenamedrop-sbox").show(), $(".newSearchIcon").toggleClass("newSearchIconH"), textBox.focus(), $("#newSearchContainer").is(":visible") ? $(".results-bar .se").hide() : $(".results-bar .se").show() | |
}, | |
showHideSearchCriteria: function() { | |
$(".showHideCriteria").slideToggle() | |
}, | |
searchFromBar: function() { | |
var module = $("#modulenamedrop").val(), | |
searchString = $("#gsearchTextBox").val(); | |
if ("" === searchString.trim()) | |
return crmui.showMsgBand("error", I18n.getMsg("crm.search.letters.check"), 2e3), !1; | |
"Activities" === module && (module = "Events"); | |
var postData = "module=" + module + "&moduleName=" + module + "&allKeywordSearch=" + encodeURIComponent(searchString) + "&isSearch=true&actionName=create&allFields=1¬esOnly=1&searchType=2&isSearchBar=true"; | |
("Leads" === module || "Candidates" === module) && (postData += "&resumeOnly=1&otherAttachments=0", "asspopout" == ZRCommonUtil.FILTERRECORDS && (postData = postData + "&filterrecords=" + ZRCommonUtil.FILTERRECORDS + "&jobId=" + ZRCommonUtil.FILTERJOBID + "&jobtitle=" + ZRCommonUtil.FILTERJOBNAME, ZRCommonUtil.FILTERCANDSTATUS = "")), postData = postData + "&" + Territory.csrf(); | |
var resObj = Utils.splitStringToObj(postData); | |
return resObj.clickId = "tab", resObj.calleeObj = "crmTab", Crm.addToHistory(void 0, void 0, resObj), crmTab.updateTabContent(module), !1 | |
}, | |
changeAdvanceSearchFormSubmit: function(module) { | |
var searchFormObj = $("form[name=searchForm]"); | |
"AllEntities" === module || "Documents" === module ? searchFormObj.attr("action", "").attr("onSubmit", "ajaxGSearch('gsearchTextBox');return false;") : searchFormObj.attr("action", "/recruit/ShowTab.do").attr("onSubmit", "return ZRCommonUtil.searchFromBar();") | |
}, | |
showFreeTrialPopUp: function(edition, imgStaticUrl) { | |
var context = { | |
edition: edition, | |
imgStaticUrl: imgStaticUrl | |
}, | |
htmlData = ZRCommonUtil.replaceTemplateData(context, "ExtraScoop", "common"), | |
oFreezeLayer = document.createElement("div"); | |
oFreezeLayer.id = "bg-light", oFreezeLayer.className = "bg-light", $("body").append(oFreezeLayer), $("body").append(htmlData), $("#spread-word").css("z-index", "1000"), $(".socialDialog").show(), $("#closeTrialPopUp,#goToSubTab").click(function() { | |
$(oFreezeLayer).remove(), $("#spread-word").remove(), $.ajax({ | |
type: "GET", | |
url: "/recruit/FreeTrialOptOut.do", | |
async: !1 | |
}) | |
}) | |
}, | |
sendReviewLinkMail: function(site) { | |
var urlData = {}; | |
urlData.actionType = "sendReviewLinkMail", urlData.reviewSite = site, $.ajax({ | |
type: "GET", | |
url: "/recruit/License.do", | |
data: urlData, | |
async: !1 | |
}) | |
}, | |
constructISForm: function(e, zuid, dispName, dispEmail, userCnt, imgURL, contNo, country) { | |
var context = { | |
userCnt: userCnt, | |
dispName: dispName, | |
dispEmail: dispEmail, | |
zuid: zuid, | |
imgURL: imgURL, | |
contNo: contNo, | |
country: country | |
}, | |
htmlData = ZRCommonUtil.replaceTemplateData(context, "InstantSupport", "Support"); | |
$("body").append(htmlData); | |
var id = $("#modal-popup"); | |
$("#main-cont").css($("body").height() > $(window).height() ? { | |
opacity: "0.8", | |
height: $("body").height() | |
} : { | |
opacity: "0.8", | |
height: $(window).height() | |
}); | |
var win = $(window); | |
id.css({ | |
position: "fixed" | |
}); | |
var left = (win.width() - id.outerWidth()) / 2 + win.scrollLeft(); | |
id.css("left", left); | |
var top = (win.height() - id.outerHeight()) / 2 + win.scrollTop(); | |
id.css("top", top); | |
var height = win.height() - 310; | |
$(".scroll").height(height), $("#bg-light").remove(); | |
var oFreezeLayer = document.createElement("div"); | |
oFreezeLayer.id = "bg-light", oFreezeLayer.className = "bg-light", document.body.appendChild(oFreezeLayer), $("#main-cont").fadeIn(); | |
var contList = $("#countList"); | |
ZRComponent.customSelect(contList, { | |
id: "countList", | |
isselect: !0, | |
minlength: 1, | |
issearch: !0, | |
selectclass: "w240 ac-bdr2 mT5", | |
tooltipchar: 40 | |
}), $("#custom-select-container-countList").prop("class", "recruit-ac ac-bdr2 w100per"), hideMenu(), $("#custom-select-option-countList, #timeDd2, #timeDd").mouseleave(function() { | |
$(this).slideUp() | |
}), $("#succOkBut").click(function() { | |
$("#InstantSupportDiv").remove(), $("#main-cont").remove(), $(oFreezeLayer).remove(), location.reload(!0) | |
}), $("#timeBx").click(function() { | |
$("#timeDd").slideToggle() | |
}), $("#timeBx2").click(function() { | |
$("#timeDd2").slideToggle() | |
}), $("#dTmUL1 li").click(function() { | |
var anchEle = $(this).html(), | |
timeVal = $(anchEle).html(); | |
$("#timeBx").val(timeVal), $("#timeDd").hide() | |
}), $("#dTmUL2 li").click(function() { | |
var anchEle = $(this).html(), | |
timeVal = $(anchEle).html(); | |
$("#timeBx2").val(timeVal), $("#timeDd2").hide() | |
}), $(".closeIS").click(function() { | |
$("#InstantSupportDiv").remove(), $("#main-cont").remove(), $(oFreezeLayer).remove() | |
}), $("#isTmSlot1, #isTmSlot2").bind("click", function() { | |
showCalen(this.id), $("#Calendar").css("z-index", "100003"), $("#calenDiv").mouseleave(function() { | |
$("#Calendar").hide() | |
}) | |
}), $("#submitISForm").bind("click", function() { | |
var params = {}; | |
if (params.contact = $("#isCnctNo").val(), void 0 == params.contact || "" === params.contact.trim() || RegExp("[a-zA-z ].*").test(params.contact) || params.contact.length < 5) | |
return void ZRCommonUtil.handleISValPop(I18n.getMsg("crm.tpi.ctiapi.msg.alert.notvalidphno")); | |
if (params.noOfUsers = $("#isNoOfUsers").val(), void 0 == params.noOfUsers || "" === params.noOfUsers.trim() || !RegExp("^[0-9]*$").test(params.noOfUsers)) | |
return void ZRCommonUtil.handleISValPop(I18n.getMsg("invalid.no.of.users")); | |
if (params.country = $("#custom-select-placeholder-value-countList").val(), void 0 == params.country || "" === params.country.trim() || "Select" === params.country) | |
return void ZRCommonUtil.handleISValPop(I18n.getMsg("crm.nsocial.pop.location.enter")); | |
var slot1 = $("#isTmSlot1").val() + " " + $("#timeBx").val(); | |
if (params.slot1 = "", void 0 != slot1 && 19 === slot1.length) { | |
var mm = slot1.substring(0, 2), | |
dd = slot1.substring(3, 5); | |
params.slot1 = dd + "/" + mm + slot1.substring(5, slot1.length) | |
} | |
if (void 0 == params.slot1 || "" === params.slot1.trim()) | |
return void ZRCommonUtil.handleISValPop(I18n.getMsg("invalid.is.datetime")); | |
var slot2 = $("#isTmSlot2").val() + " " + $("#timeBx2").val(); | |
if (params.slot2 = "", void 0 != slot2 && 19 === slot2.length) { | |
var mm = slot2.substring(0, 2), | |
dd = slot2.substring(3, 5); | |
params.slot2 = dd + "/" + mm + slot2.substring(5, slot2.length) | |
} | |
return void 0 == params.slot2 || "" === params.slot2.trim() ? void ZRCommonUtil.handleISValPop(I18n.getMsg("invalid.is.datetime")) : (params.timeline = $("#isTTI").val(), void 0 == params.timeline || params.timeline.length > 500 ? void ZRCommonUtil.handleISValPop(I18n.getMsg("invalid.is.timeline")) : (params.req = $("#isRequi").val(), void 0 == params.req || "" === params.req.trim() || params.req.length > 500 ? void ZRCommonUtil.handleISValPop(I18n.getMsg("invalid.is.req")) : (params.zuid = zuid, params.crmContNo = $("#isCnctNoCRM").val(), params.crmCountry = $("#isCountryCRM").val(), void ZRCommonUtil.ajaxPostMethod("/recruit/InstantSupport.do", params, !1, "html", void 0, function(data) { | |
data = data ? JSON.parse(data) : data, data && data.hasOwnProperty("success") && "Submitted" === data.success ? ($("#popContent,#buttGroup").hide(), $("#succPop").slideDown()) : data && data.hasOwnProperty("error") && ("Already Submitted" === data.error ? ZRCommonUtil.handleISValPop(I18n.getMsg("is.submitted")) : "Time Check" === data.error && ZRCommonUtil.handleISValPop(I18n.getMsg("is.message11"))) | |
}, function() { | |
ZRCommonUtil.handleISValPop(I18n.getMsg("crm.fr.unknown")) | |
})))) | |
}) | |
}, | |
handleISValPop: function(value) { | |
var params = {}; | |
params.savefn = function() { | |
$(".bg-dark").css("z-index", "950"); | |
var closeDiv = $(target).parents(".zcrm-modal").attr("id"); | |
ZRCommonUtil.closeDialog(ev, target, "#" + closeDiv) | |
}, ZRCommonUtil.createInfoBox({ | |
titleclass: "til warning", | |
title: I18n.getMsg("crm.formula.alert"), | |
content: value, | |
savebtn: I18n.getMsg("crm.button.ok") | |
}), $("#modal-block").css("z-index", "100003"), $(".bg-dark").css("z-index", "100002") | |
}, | |
constructFeedbackForm: function(e, zuid, name, isCNBuild) { | |
void 0 == zuid && (zuid = Crm.userDetails.ZUID, name = Crm.userDetails.DISPLAY_NAME); | |
var workingUrl = window.location.href, | |
color = $("#tabLayer .newMenuTable").css("background-color"), | |
context = { | |
name: name, | |
zuid: zuid, | |
workingUrl: workingUrl, | |
color: color, | |
isCNBuild: "true" == isCNBuild ? !0 : !1 | |
}, | |
htmlData = ZRCommonUtil.replaceTemplateData(context, "FeedBackForm", "Support"); | |
$("body").append(htmlData); | |
var elem = $("#feedbackform"); | |
$("#bg-light").remove(); | |
var oFreezeLayer = document.createElement("div"); | |
oFreezeLayer.id = "bg-light", oFreezeLayer.className = "zrc-freeze", document.body.appendChild(oFreezeLayer), $("#bg-light").css("z-index", "101"), $("#uploadFileButton2").click(function() { | |
$("#uploadFileButton").click() | |
}); | |
var sTop = document.documentElement.scrollTop || document.body.scrollTop, | |
sLeft = document.documentElement.scrollLeft || document.body.scrollLeft; | |
if ($(window).height() > elem.height()) | |
elem.css({ | |
display: "block", | |
position: "absolute", | |
left: "50%", | |
top: "50%", | |
"margin-left": -(elem.width() / 2) + sLeft, | |
"margin-top": -(elem.height() / 2) + sTop | |
}); | |
else { | |
var tP = sTop + 10; | |
elem.css({ | |
display: "block", | |
position: "absolute", | |
left: "50%", | |
top: tP, | |
"margin-left": -(elem.width() / 2) + sLeft, | |
"margin-top": "0px" | |
}) | |
} | |
$("#feedbackform").hide().slideDown("fast"), hideMenu() | |
}, | |
simpleSearchFromResult: function(startIndex, rangeValue) { | |
var module = $("#modulenamedrop").val(), | |
searchString = $("#gsearchTextBox").val(), | |
startLimit = $("input[name = 'fromIndex']").val(), | |
range = $("input[name = 'rangeValue']").val(), | |
sortColumnString = $("input[name = 'sortColumnString']").val(), | |
sortOrderString = $("input[name = 'sortOrderString']").val(); | |
if (range = void 0 != range ? range : "10", void 0 != startIndex && "" != startIndex && "undefined" != startIndex && (startLimit = startIndex), void 0 != rangeValue && "" != rangeValue && "undefined" != rangeValue && (range = rangeValue), sortColumnString = void 0 != sortColumnString ? sortColumnString : "", sortOrderString = void 0 != sortOrderString ? sortOrderString : "", void 0 != searchString && "" != searchString) { | |
var postData = "moduleName=" + module + "&allKeywordSearch=" + encodeURIComponent(searchString) + "&isSearch=true&actionName=create&allFields=1¬esOnly=1&searchType=2&isSearchBar=true&startLimit=" + startLimit + "&range=" + range + "&sortColumnString=" + sortColumnString + "&sortOrderString=" + sortOrderString; | |
("Leads" === module || "Candidates" === module) && (postData += "&resumeOnly=1&otherAttachments=0", "asspopout" == ZRCommonUtil.FILTERRECORDS && (postData = postData + "&filterrecords=" + ZRCommonUtil.FILTERRECORDS + "&jobId=" + ZRCommonUtil.FILTERJOBID + "&jobtitle=" + ZRCommonUtil.FILTERJOBNAME, ZRCommonUtil.FILTERCANDSTATUS = "")), postData = postData + "&" + Territory.csrf(); | |
var resObj = Utils.splitStringToObj(postData); | |
resObj.clickId = "tab", resObj.calleeObj = "crmTab", resObj.isSearch = "true", resObj.clearCache = "true", Crm.addToHistory(void 0, void 0, resObj) | |
} | |
return !1 | |
}, | |
delegateClickEventForAttachPerm: function(event) { | |
var tgt = $(event.target); | |
tgt.is("#saveBtn") && ZRFileUtil.permissionSetQuery(!0) | |
}, | |
delegateChangeEventForAttachPerm: function(ev) { | |
var tgt = $(ev.target); | |
tgt.is("input[type=checkbox]") ? ZRFileUtil.permissionChange(tgt) : (tgt.is("#profileSelect") || tgt.is("#moduleSelect")) && ZRFileUtil.permissionSetQuery(!1) | |
}, | |
changeRole: function(ev, spaceId) { | |
if (window.confirm("Do you want to change the role of this user?")) { | |
var urlData = {}; | |
urlData.actionName = "upgradeUserFromTool"; | |
var userid = $(ev.target).parent().siblings().eq(1).html(); | |
urlData.userIdToChange = userid, urlData.spaceId = spaceId, urlData.roleid = $(ev.target).val(), ZRCommonUtil.ajaxPostMethod("/recruit/Security.do", urlData, !0, "json", void 0, function(data) { | |
data && alert("Role changed sucessfully") | |
}) | |
} | |
}, | |
getDefaultSearchBarModule: function() { | |
var defSearchModule = void 0, | |
url = "/recruit/GetDefaultSearchBarModule.do"; | |
return ZRCommonUtil.ajaxGetMethod(url, void 0, !1, "json", void 0, function(jsonData) { | |
defSearchModule = jsonData.defSearchModule | |
}, function() {}), defSearchModule | |
}, | |
setDefaultSearchBarModule: function(defSearchModule) { | |
var status = "success", | |
params = { | |
defSearchModule: defSearchModule | |
}, | |
url = "/recruit/SetDefaultSearchBarModule.do"; | |
return ZRCommonUtil.ajaxPostMethod(url, params, !1, "json", void 0, function(jsonData, undefined) { | |
if ("success" == jsonData.successMessage) { | |
ZRCommonUtil.SEARCHDEFAULT = defSearchModule; | |
var module = "Leads"; | |
"TAB" == defSearchModule.trim() && (module = $("#module").val(), module == undefined || "" === module.trim() || "Documents" === module ? module = "Leads" : "Activities" == module && (module = "Events")), $("#modulenamedrop").val(module), $("#gsearchTextBox").focus() | |
} else | |
status = "failed" | |
}, function() { | |
status = "failed" | |
}), status | |
}, | |
sortselectBox: function(objs, isSortNumerically) { | |
objs.each(function(j, select) { | |
var options = $(select).find("option"), | |
arr = options.map(function(_, o) { | |
return { | |
t: $(o).text(), | |
v: $(o).val() | |
} | |
}).get(); | |
arr.sort(function(o1, o2) { | |
var t1 = o1.t.toLowerCase(), | |
t2 = o2.t.toLowerCase(); | |
return isSortNumerically ? (t1 = t1.split(" ")[0], t2 = t2.split(" ")[0], parseInt(t1) - parseInt(t2)) : t1 > t2 ? 1 : t2 > t1 ? -1 : 0 | |
}), options.each(function(i, o) { | |
o.value = arr[i].v, $(o).text(arr[i].t) | |
}) | |
}) | |
}, | |
sortUlLiselectBox: function(objs) { | |
objs.each(function(j, ulElem) { | |
var options = $(ulElem).find("li"), | |
arr = options.map(function(_, o) { | |
return { | |
t: $(o).text(), | |
v: $(o).data("value") | |
} | |
}).get(); | |
arr.sort(function(o1, o2) { | |
var t1 = o1.t.toLowerCase(), | |
t2 = o2.t.toLowerCase(); | |
return t1 > t2 ? 1 : t2 > t1 ? -1 : 0 | |
}), options.each(function(i, o) { | |
$(o).data("value", arr[i].v), $(o).attr("data-value", arr[i].v), $(o).text(arr[i].t) | |
}) | |
}) | |
}, | |
getSelectedRows: function(module) { | |
var form = document.TransferWizardForm; | |
"undefined" != typeof formobj && (form = formobj[0]); | |
var listview = !0; | |
void 0 != form && (listview = !1); | |
var append_ids = "", | |
noofrows = void 0; | |
if (listview) { | |
if (noofrows = crmTab.getFromCache(module).body.length, noofrows && 0 == noofrows) { | |
var params = { | |
removefreeze: !1, | |
type: "failure", | |
baseid: "error-alert-message", | |
scroll: !1, | |
content: I18n.getMsg("crm.alert.select.one"), | |
display: "inline", | |
position: "middle" | |
}; | |
return ZRComponent.createAlertDialog(params), !1 | |
} | |
append_ids = crmListView.getObject().selectedIds.join(";") | |
} else { | |
var selectedRows = $("[name=chk]:checked"); | |
if (!selectedRows) | |
return; | |
if (noofrows = selectedRows.length, void 0 != noofrows && 0 == noofrows) { | |
var params = { | |
removefreeze: !1, | |
type: "failure", | |
baseid: "error-alert-message", | |
scroll: !1, | |
content: I18n.getMsg("crm.alert.select.one"), | |
display: "inline", | |
position: "middle" | |
}; | |
return ZRComponent.createAlertDialog(params), !1 | |
} | |
for (var i = 0; noofrows > i; i++) { | |
var values = selectedRows[i].value.split("&&||"), | |
ids = values[0]; | |
append_ids = ids + ";" + append_ids | |
} | |
append_ids = void 0 != append_ids && append_ids.endsWith(";") ? append_ids.substr(0, append_ids.length - 1) : append_ids | |
} | |
return append_ids | |
}, | |
getTruncatedNamesList: function(recordsList) { | |
var recordNamesShort = ""; | |
if (recordsList.length > 10) { | |
for (var i = 0; 10 > i; i++) | |
recordNamesShort = "" === recordNamesShort ? recordsList[i] : recordNamesShort + "," + recordsList[i]; | |
recordNamesShort = "" !== recordNamesShort ? recordNamesShort + ",..." : "" | |
} | |
return recordNamesShort | |
}, | |
loadListener: function(url) { | |
window.addEventListener && (ZRCommonUtil.docsUrl = url, addEventListener("message", ZRCommonUtil.docsListener, !1)) | |
}, | |
docsListener: function(event) { | |
if (event && event.origin === ZRCommonUtil.docsUrl) { | |
var eventOrigin = event.origin, | |
urlParts = eventOrigin.split("://"), | |
iFrameHt = (urlParts.length > 1 ? urlParts[1] : urlParts[0], $(window).height() - $("#topdivbg").height()); | |
$("#externalIframe").height(iFrameHt) | |
} | |
}, | |
loadCandQuickviewHtml: function(target) { | |
var dataObj = $(target).data("attachdetail"); | |
"string" == typeof dataObj && (dataObj = ZRCommonUtil.convertStringToJson(dataObj)); | |
var templateSource = Handlebars.getTemplate("Search", "CandSearchPreview"); | |
if (dataObj) { | |
var windowHt = dataObj.windowHt, | |
attachmentId = dataObj.attachmentId, | |
fileId = dataObj.fileId; | |
if (attachmentId && "" != attachmentId.id) | |
if (fileId && "" != fileId && "-1" != fileId) { | |
var pkid = dataObj.pkid, | |
module = dataObj.module, | |
linkDocs = dataObj.linkDocs, | |
module = dataObj && dataObj.module ? dataObj.module : "Leads", | |
downLoadPermission = dataObj && dataObj.downLoadPermission ? dataObj.downLoadPermission : "false"; | |
downLoadPermission = "true" == downLoadPermission ? !0 : !1, (void 0 == linkDocs || null == linkDocs) && (linkDocs = "false"); | |
var originalFileName = dataObj.fileName, | |
simpleSearchStr = (dataObj.isList, $("#gsearchTextBox")), | |
searchKeyWord = "", | |
ua = window.navigator.userAgent, | |
msie = ua.indexOf("MSIE ") > 0 || ua.indexOf("Trident/") > 0 || ua.indexOf("Edge/") > 0 ? !0 : !1, | |
searchData = History.getState().data; | |
searchKeyWord = "true" === searchData.isSME ? ZRSME.getSearchStrForHighlight(searchData.smeEntityId) : void 0 != simpleSearchStr && simpleSearchStr.length > 0 && searchData && searchData.isSearchBar && "true" === searchData.isSearchBar ? simpleSearchStr.val() : void 0 != searchData && void 0 != searchData.allKeywordSearch ? decodeURIComponent(searchData.allKeywordSearch) : "", dataObj.searchKeyWord = searchKeyWord; | |
var mode = ZRFileUtil.getMode(originalFileName), | |
json = {}; | |
if (json.isSearch = !0, json.msie = msie, json.id = pkid, json.fullName = dataObj.fullName, json.downLoadFile = downLoadPermission, json.downLoadMode = mode, json.downLoadLink = "/recruit/ViewAttachment?fileId=" + fileId + "&module=" + encodeURIComponent(module) + "&id=" + attachmentId + "&name=" + encodeURIComponent(originalFileName) + "&downLoadMode=default&linkDocs=" + linkDocs, json.windowHt = windowHt, json.message = "success", "writer" == mode) { | |
target.find(".qsts-footer").remove(); | |
var url = "/recruit/CandSearchPreviewHtml.do"; | |
void 0 != dataObj.isFromDetailView && "detailView" === dataObj.isFromDetailView ? (json.isFromDetailView = "fromDetailView", $("#candDetailquickpreview").html(templateSource(json)).show(), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.ajaxGetMethod(url, dataObj, !0, "html", void 0, function(htmlData) { | |
$("#cand-res-prev-fr").html(htmlData), $("#content-m-fr img").not("#oops-img").remove(), ZRCommonUtil.hideFResumeLoadingIcon() | |
}, function() { | |
var errorContent = '<img src="' + crmConstants.imgStaticPath + '/Oops.jpg" id="oops-img" alt="' + I18n.getMsg("crm.search.highlight.error.msg") + '" style="position:absolute;left:230px;top:' + (windowHt / 2 - 120) + 'px">'; | |
$("#candDetailquickpreview").html(templateSource(json)).show(), $("#cand-res-prev-fr").html(errorContent), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.hideFResumeLoadingIcon() | |
}, !1)) : ($("#candquickpreview").html(templateSource(json)).show(), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.ajaxGetMethod(url, dataObj, !0, "html", void 0, function(htmlData) { | |
$("#cand-res-prev").html(htmlData), $("#content-m img").not("#oops-img").remove(), ZRCommonUtil.hideLoadingIcon() | |
}, function() { | |
var errorContent = '<img src="' + crmConstants.imgStaticPath + '/Oops.jpg" id="oops-img" alt="' + I18n.getMsg("crm.search.highlight.error.msg") + '" style="position:absolute;left:230px;top:' + (windowHt / 2 - 120) + 'px">'; | |
$("#candquickpreview").html(templateSource(json)).show(), $("#cand-res-prev").html(errorContent), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.hideLoadingIcon() | |
}, !1)) | |
} else if ("image" == mode || "pdfViewPlugin" == mode) { | |
target.find(".qsts-footer").remove(); | |
var srcUrl = ""; | |
"image" == mode ? (srcUrl = "/recruit/ViewAttachment?fileId=" + fileId + "&module=" + module + "&parentId=" + pkid + "&id=" + attachmentId + "&name=" + encodeURIComponent(originalFileName) + "&downLoadMode=" + mode + "&linkDocs=" + linkDocs, json.srcContent = srcUrl) : "pdfViewPlugin" == mode && (srcUrl = "/recruit/CandSearchPreviewHtml.do?fileId=" + fileId + "&module=" + module + "&pkid=" + pkid + "&attachmentId=" + attachmentId + "&fileName=" + encodeURIComponent(originalFileName) + "&searchKeyWord=" + encodeURIComponent(searchKeyWord) + "&windowHt=" + windowHt + "&linkDocs=" + linkDocs, json.srcContent = srcUrl), dataObj.isFromDetailView ? (json.isFromDetailView = "fromDetailView", $("#candDetailquickpreview").html(templateSource(json)).show()) : $("#candquickpreview").html(templateSource(json)).show(), "image" == mode && $("#content-m").slimScroll({}), $(".loaderImg").css("top", windowHt / 2 - 50) | |
} else { | |
var errorContent = '<img src="' + crmConstants.imgStaticPath + '/Oops.jpg" id="oops-img" alt="' + I18n.getMsg("crm.search.highlight.error.msg") + '" style="position:absolute;left:230px;top:' + (windowHt / 2 - 120) + 'px">'; | |
void 0 != dataObj.isFromDetailView && "detailView" === dataObj.isFromDetailView ? (json.isFromDetailView = "fromDetailView", $("#candDetailquickpreview").html(templateSource(json)).show(), $("#cand-res-prev-fr").html(errorContent), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.hideFResumeLoadingIcon()) : ($("#candquickpreview").html(templateSource(json)).show(), $("#cand-res-prev").html(errorContent), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.hideLoadingIcon()) | |
} | |
} else { | |
var errorContent = '<img src="' + crmConstants.imgStaticPath + '/Oops.jpg" id="oops-img" alt="' + I18n.getMsg("crm.search.highlight.error.msg") + '" style="position:absolute;left:230px;top:' + (windowHt / 2 - 120) + 'px">'; | |
void 0 != dataObj.isFromDetailView && "detailView" === dataObj.isFromDetailView ? (json.isFromDetailView = "fromDetailView", $("#candDetailquickpreview").html(templateSource(json)).show(), $("#cand-res-prev-fr").html(errorContent), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.hideFResumeLoadingIcon()) : ($("#candquickpreview").html(templateSource(json)).show(), $("#cand-res-prev").html(errorContent), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.hideLoadingIcon()) | |
} | |
} else { | |
var errorContent = '<img src="' + crmConstants.imgStaticPath + '/Oops.jpg" id="oops-img" alt="' + I18n.getMsg("crm.search.highlight.error.msg") + '" style="position:absolute;left:230px;top:' + (windowHt / 2 - 120) + 'px">'; | |
target || target.selector || "#qs-tab10" !== target.selector ? ($("#candquickpreview").html(templateSource(json)).show(), $("#cand-res-prev").html(errorContent), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.hideLoadingIcon()) : (json.isFromDetailView = "fromDetailView", $("#candDetailquickpreview").html(templateSource(json)).show(), $("#cand-res-prev-fr").html(errorContent), $(".loaderImg").css("top", windowHt / 2 - 50), ZRCommonUtil.hideFResumeLoadingIcon()) | |
} | |
}, | |
navigateDocumentView: function(currentid, action) { | |
var elem = $("#attachLink_" + currentid), | |
dataObj = $(elem).attr("data-attachdetail"), | |
params = dataObj ? "object" == typeof dataObj ? dataObj : JSON.parse(dataObj) : {}, | |
recordNum = parseInt(params.recordNum); | |
"NavNext" === action ? recordNum = parseInt(recordNum) + 1 : "NavPrevious" === action && (recordNum = parseInt(recordNum) - 1), ZRCommonUtil.loadCandPreviewHtml($("#attachLink_" + crmNavig[crmNavig.customViewKey].recordId[recordNum].id)) | |
}, | |
fetchNextResumeId: function(recordNum) { | |
var rec = parseInt(recordNum), | |
key = crmNavig.customViewKey, | |
detailPrevious = $("#detailPrevious"), | |
detailNext = $("#detailNext"); | |
if (key && crmNavig[key]) { | |
{ | |
var prev = crmNavig[key].recordId[rec - 1], | |
nex = crmNavig[key].recordId[rec + 1]; | |
$("#module").length > 0 ? $("#module")[0].value : "" | |
} | |
prev && "EOA" !== prev ? (detailNext.show(), detailPrevious.attr("class", "sb-prev").show()) : detailPrevious.attr("class", "sb-prev disabled").removeAttr("data-cid"), nex && "EOA" !== nex ? (detailNext.attr("class", "sb-next").show(), detailPrevious.show()) : detailNext.attr("class", "sb-next disabled"), nex && "EOA" !== nex || prev && "EOA" !== prev || (detailNext.hide(), detailPrevious.hide()) | |
} | |
}, | |
fetchNextResume: function(json) { | |
var startLimit = $("input[name='startLimit']").val(), | |
range = $("tbody#lvTred tr").length, | |
isSearch = json && json.isSearch ? json.isSearch : !1; | |
startLimit = void 0 != startLimit ? parseInt(startLimit) : void 0, range = void 0 != range ? parseInt(range) : void 0; | |
var pkid = json && json.id ? json.id : void 0, | |
prevRecord = "0", | |
nextRecord = "0"; | |
if (void 0 != startLimit && void 0 != range && isSearch && void 0 != pkid) { | |
var toIndex = startLimit + range - 1, | |
naviDataArrLen = parseInt(0), | |
naviDataArrIter = "", | |
startIndex = void 0; | |
if (naviDataArr && "" != naviDataArr.trim() && (naviDataArrIter = naviDataArr.split(","), naviDataArrLen = naviDataArrIter.length, startIndex = naviDataArrIter.indexOf(pkid)), 0 == naviDataArrLen) | |
return json.prevRecord = prevRecord, void (json.nextRecord = nextRecord); | |
if (-1 != startIndex) { | |
for (var index = startIndex + 1; toIndex - 1 >= index && ("0" == nextRecord && (nextRecord = naviDataArrIter[index], nextRecord = void 0 != nextRecord && $("#attachLink_" + nextRecord).length > 0 ? nextRecord : "0"), "0" == nextRecord); index++) | |
; | |
for (var index = startIndex - 1; index >= startLimit - 1 && ("0" == prevRecord && (prevRecord = naviDataArrIter[index], prevRecord = void 0 != prevRecord && $("#attachLink_" + prevRecord).length > 0 ? prevRecord : "0"), "0" == prevRecord); index--) | |
; | |
} | |
} | |
json.nextRecord = nextRecord, json.prevRecord = prevRecord | |
}, | |
hideLoadingIcon: function() { | |
$("#loading-img").css("display", "none"), $("#content-div").css("display", "block"), $(window).resize(function() { | |
var candQuickPreview = $("#candquickpreview"); | |
if (candQuickPreview.length > 0) { | |
var scrollTo = $("#candquickpreview").scrollTop(), | |
contentElem = $(".search-modal-dialog "), | |
windowHeight = $(window).height(), | |
headerheight = $(".qs-header").outerHeight(), | |
tabheight = $("#qs-navigation").outerHeight(), | |
windowHt = windowHeight - (headerheight + tabheight); | |
if (scrollTo > 20 && $(contentElem).css({ | |
position: "fixed", | |
right: 0, | |
top: "0" | |
}), candQuickPreview.parent(".cand-resume-section").length > 0) | |
return windowHt = $(".detail-cand-info").outerHeight() - 80, $(contentElem).css("height", windowHt), $("#content-m").css("height", windowHt - 39), $("#cand-res-prev").css("height", windowHt - 27), !1; | |
$(contentElem).css("height", windowHt + 40), $("#content-m").css("height", windowHt - 39), $("#cand-res-prev").css("height", windowHt - 27) | |
} | |
}), setTimeout(function() { | |
$(window).trigger("resize") | |
}, 200), $("#oops-img").length > 0 && ($("#print-content").closest("li").hide(), $("#download-content").closest("li").hide()) | |
}, | |
hideFResumeLoadingIcon: function() { | |
$("#loading-img-fr").css("display", "none"), $("#content-div-fr").css("display", "block"), $(window).resize(function() { | |
if ($("#candDetailquickpreview").length > 0) { | |
var scrollTo = $("#candDetailquickpreview").scrollTop(), | |
windowHeight = $(window).height(), | |
headerheight = $(".qs-header").outerHeight(), | |
tabheight = $("#qs-navigation").outerHeight(), | |
windowHt = windowHeight - (headerheight + tabheight), | |
contentElem = $(".search-modal-dialog "); | |
scrollTo > 20 && $(contentElem).css({ | |
position: "fixed", | |
right: 0, | |
top: "0" | |
}), $(contentElem).css("height", windowHt + 40), $("#content-m-fr").css("height", windowHt - 39), $("#cand-fres-prev").css("height", windowHt - 27) | |
} | |
}), setTimeout(function() { | |
$(window).trigger("resize") | |
}, 200), $("#oops-img").length > 0 && ($("#print-content-fr").closest("li").hide(), $("#download-content-fr").closest("li").hide()) | |
}, | |
closePreview: function(divId, pkid) { | |
if (divId) { | |
var elem = $(divId); | |
elem && 0 !== elem.length && elem.hide() | |
} | |
pkid && ($("#" + pkid).removeClass("active"), $("#attachLink_" + pkid).removeClass("active")) | |
}, | |
showHideImportDropdown: function(importBtn, permission, permissionImportResume) { | |
var button = $(importBtn); | |
if (button.hasClass("active")) { | |
var leadsName = Crm.moduleInfo.Leads ? Crm.moduleInfo.Leads[1] : "Candidates"; | |
button.removeClass("active"); | |
var dropDown = Utils.createHTML({ | |
name: "ul", | |
attr: { | |
"class": "import-dropdown animated", | |
style: "display:none;" | |
} | |
}); | |
permissionImportResume && dropDown.appendChild(Utils.createHTML({ | |
name: "li", | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:", | |
"data-cid": "parserbtn", | |
"data-params": '{"module":"Leads","step":"1"}', | |
title: I18n.getMsg("crm.importfromdocument.title") | |
}, | |
html: I18n.getMsg("crm.importfromdocument.title") | |
}] | |
})), permission && dropDown.appendChild(Utils.createHTML({ | |
name: "li", | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:", | |
"data-cid": "importbtn", | |
"data-params": '{"module":"Leads","step":"1"}', | |
title: I18n.getMsg("crm.module.import", I18n.getMsg(leadsName)) | |
}, | |
html: I18n.getMsg("crm.module.import", I18n.getMsg(leadsName)) | |
}] | |
})), $(dropDown).insertAfter(button), dropDown = $(".import-dropdown"), dropDown.addClass("slideInUp"), dropDown.removeClass("slideInDown"), dropDown.css("display", "block"), $(".candidate_leadbox").on("click", function(event) { | |
var tgt = $(event.target); | |
0 === $(".import-indeed-list").has(tgt).length && (button.addClass("active"), dropDown.remove()) | |
}) | |
} else | |
button.addClass("active"), $(".import-dropdown").remove() | |
}, | |
getLimitedHTMLToolBar: function() { | |
var toolBar = [[["bold", "Bold (Ctrl+B)", "zei-bold"], ["italic", "Italic (Ctrl+I)", "zei-italic"], ["underline", "Underline (Ctrl+U)", "zei-underline"], ["strikethrough", "Strikethrough", "zei-strike"]], [["fontfamily", "Font", "zei-fontfamily"]], [["fontsize", "Font Size", "zei-arrow"]], [["alignoptions", "Fontstyle Options", "zei-textleft"], ["listoptions", "List Options", "zei-unorder"], ["indentoptions", "Indent Options", "zei-outdent"]], [["superscript", "superScript", "zei-superScript"]], [["subscript", "subScript", "zei-subScript"]], [["removeformat", "Remove Formatting", "zei-removeformat"]], [["link", "Insert Link", "zei-link"], ["inserthorizontalrule", "Insert Horizontal Rule", "zei-line"]], [["spellcheck", "Check Spelling", "zei-spellCheck"]], [["otheroptions", "Plain Text", "zei-arrow ze-big"]]]; | |
return toolBar | |
}, | |
splCharCheck: function(fieldValue, newSplCharArray) { | |
for (newSplCharArray = ZRCommonUtil.isEmpty(newSplCharArray) ? splCharArray : newSplCharArray, i = 0; i < newSplCharArray.length; i++) | |
if (fieldValue.indexOf(newSplCharArray[i]) >= 0) | |
return !1; | |
return !0 | |
}, | |
showAttachmentCategoryPopForAttachFromDetail: function(dzFiles) { | |
if (!$("#cate").is(":visible") && $("#atch").is(":visible")) { | |
var attachmentDivParent = $("#attachPopup"), | |
attachmentDiv = $("#atch"), | |
attachCatDiv = $("#cate"); | |
attachCatDiv.show(); | |
var pElem = "", | |
len = dzFiles.length; | |
for (i = 0; len > i; i++) { | |
var categories = '<select id="select_' + i + '" name="select_' + i + '" class="select fR w200" onchange="javascript:Change(this)" onfocus="javascript:focusStore(this)">' + $("#categories").html() + "</select>", | |
curFile = dzFiles[i], | |
name = curFile.name, | |
title = 1 === count ? "<b title='" + $ESAPI.encoder().encodeForHTMLAttribute(name) + "'>" + $ESAPI.encoder().encodeForHTML(name) + "</b>" : "<b title='" + $ESAPI.encoder().encodeForHTMLAttribute(name) + "'>" + $ESAPI.encoder().encodeForHTML(name) + "</b>", | |
addElem = "<p class='att-list newSelect' style='border:none;'><img width='16px' border='0' align='absmiddle' hspace='3' height='16px' class='file-icon' src='images/spacer.gif'>" + title + categories + "</p>"; | |
pElem = "" === pElem ? addElem : pElem + addElem | |
} | |
noOfSelect = len, $("#attachList").append(pElem), attachCatDiv = $("#cate"), height = attachCatDiv.css("height"); | |
var ht = parseInt(height.split("px")[0]), | |
topPos = "-" + ht / 2 + "px"; | |
return width = attachCatDiv.css("width"), $(attachCatDiv).css("margin-top", topPos), $(attachmentDiv).css("height", height), $(attachmentDivParent).css("width", width), $(attachmentDivParent).css("overflow", "hidden"), !1 | |
} | |
var list = $("#attachmentList").value; | |
return null != list && list.length > 0 ? !0 : void 0 | |
}, | |
removeActionsFromDetailPage: function() { | |
var linksToBeRemoved_Personalities = ZRCommonUtil.getRelatedListNameVsId(), | |
moreActionsToBeRemoved_Ids = ["customButtonDetails", "cutomizebcLink", "customizeRelDetails", "candidateAssociation", "cutomizeMacroLink", "newRelatedListDiv", "fullInfoNoteDiv", "convert_details", "toggleNotes > #zciFieldMap", "singleGenerateFormattedResumeId", "candidateInvitationStatus", "FindInIndeedLInk", "associatedTags li a, #associate-tagshow, a#createlink, div.normalDropDown, div#customlinkcount span", "contactInviteLink"], | |
moreActionsToBeRemoved_Names = ["mailmerge", "Duplicate2", "Convert2", "Clone", "Print2"], | |
moreActionsToBeRemoved_Class = ["notesActionbtn", "notesActionbtnDel", "notesArrowDownNew", "addNewIcP", "typeedit", "dd-sep", "calliconOuter"], | |
moreActionsToBeRemoved_CallIds = ["relAssociateExistingJOId", "sendEntityMailLink", "relSendSMSId", "relClientSubmissionId", "relCreateNewProductId", "requestGDPRConsent"]; | |
ZRCommonUtil.removeRelatedListActionsByPersonalityName(linksToBeRemoved_Personalities), ZRCommonUtil.removeMoreActions(moreActionsToBeRemoved_Ids, moreActionsToBeRemoved_Names, moreActionsToBeRemoved_Class, moreActionsToBeRemoved_CallIds) | |
}, | |
removeLinksFromDetailPage: function() { | |
var linksToBeRemoved_Personalities = ZRCommonUtil.getRelatedListNameVsId(); | |
delete linksToBeRemoved_Personalities.attachmentspersonality; | |
var moreActionsToBeRemoved_Ids = ["cutomizeMacroLink", "newRelatedListDiv", "convert_details", "singleGenerateFormattedResumeId", "FindInIndeedLInk", "associatedTags li a, #associate-tagshow, a#createlink, div.normalDropDown, div#customlinkcount span"], | |
moreActionsToBeRemoved_Names = ["mailmerge", "Duplicate2", "Convert2"]; | |
ZRCommonUtil.removeRelatedListActionsByPersonalityName(linksToBeRemoved_Personalities), ZRCommonUtil.removeMoreActions(moreActionsToBeRemoved_Ids, moreActionsToBeRemoved_Names) | |
}, | |
getRelatedListNameVsId: function() { | |
for (var pNameVspId = {}, pArr = crmRelatedList.personalityArr.split("||"), j = 0; j < pArr.length; j++) { | |
var temp = pArr[j].split("_"), | |
pName = temp[0], | |
pId = temp[1]; | |
pNameVspId[pName] = pId | |
} | |
return pNameVspId | |
}, | |
removeRelatedListActionsByPersonalityName: function(pNameArr) { | |
if (pNameArr && Object.keys(pNameArr).length > 0) | |
for (var pName in pNameArr) | |
if (pNameArr.hasOwnProperty(pName)) { | |
var pId = pNameArr[pName]; | |
"undefined" != typeof pId && ZRCommonUtil.removeRelatedListActionsByPersonalityId(pId, pName) | |
} | |
}, | |
removeRelatedListActionsByPersonalityId: function(pId, pName) { | |
$("#norec_" + pId).find("a").remove(), $("#ract_" + pId).find("a").remove(), $("#newleft_" + pId).find("span.addNewIcP").remove(), ZRCommonUtil.removeRelatedListMouseOverActionsByPersonalityId(pId, pName) | |
}, | |
removeMoreActions: function(elemIdArr, elemNameArr, elemClassArr, elemCallIds) { | |
if (elemIdArr && elemIdArr.length > 0) | |
for (var i = 0; i < elemIdArr.length; i++) | |
$("#" + elemIdArr[i]).remove(); | |
if (elemNameArr && elemNameArr.length > 0) | |
for (var i = 0; i < elemNameArr.length; i++) | |
$("[name=" + elemNameArr[i] + "]").remove(); | |
if (elemClassArr && elemClassArr.length > 0) | |
for (var i = 0; i < elemClassArr.length; i++) | |
$("." + elemClassArr[i]).remove(); | |
if (elemCallIds && elemCallIds.length > 0) | |
for (var i = 0; i < elemCallIds.length; i++) | |
$("[data-callid=" + elemCallIds[i] + "]").remove() | |
}, | |
removeRelatedListMouseOverActionsByPersonalityId: function(pId) { | |
$("#" + pId).find(".mainRLActionIcon").remove() | |
}, | |
getRelatedListIdByName: function(pName) { | |
for (var listRelationId, pArr = crmRelatedList.personalityArr.split("||"), i = 0; i < pArr.length; i++) { | |
var temp = pArr[i].split("_"); | |
if (temp[0] === pName) { | |
listRelationId = temp[1]; | |
break | |
} | |
} | |
return listRelationId | |
}, | |
saveEntity_SuccessCallback: function(resp, cBn, params, module, url, isNew) { | |
if (resp.indexOf("UNAUTHORIZED TO ASSOCIATE ACCOUNT:::") > -1) | |
return ZRComponent.openAlertMessage({ | |
type: "failure", | |
msg: I18n.getMsg("crm.associate.accounts.authorisation") | |
}), void Utils.showHideLoadingDiv(); | |
if (resp.indexOf("CRM_ERROR_PAGE_500::::EXCEPTION") > -1) | |
return ZRComponent.openAlertMessage({ | |
type: "failure", | |
msg: I18n.getMsg("crm.iam.error.xssdetected") | |
}), void Utils.showHideLoadingDiv(); | |
Utils.showHideLoadingDiv(), Crm.isRecordModified = !1; | |
var isErrorResp = resp && "object" == typeof resp ? Utils.checkErrorMsg(JSON.parse(resp), void 0, url) : Utils.checkErrorMsg(JSON.parse(resp), void 0, url); | |
if (isErrorResp) | |
cBn && $("#ajax_load_tab").is(":visible") && cBn(resp, isErrorResp); | |
else { | |
if (resp || "Events" !== module || (resp = {}), resp && "object" != typeof resp && (resp = JSON.parse(resp)), window[module].entityId = void 0, "Potentials" === module && resp && resp.isClientUser && isClientUser) | |
return crmTab.deleteFromCache(module), void Crm.addToHistory(void 0, void 0, { | |
module: resp.module, | |
calleeObj: "crmTab", | |
clickId: "tab" | |
}); | |
if ("Consents" === module) | |
return Crm.requestParam = {}, crmui.showMsgBand("success", I18n.getMsg("crm.updated"), 2e3), DataPrivacy.refreshDataPrivacyView(), detailView.isDataPrivacyModified = !0, void (void 0 != detailView && void 0 != detailView.currentModule && (ZRCommonUtil.refreshRelatedList("emailspersonality"), ZRCommonUtil.refreshRelatedList("smspersonality"), crmTab.deleteFromCache(detailView.currentModule))); | |
if ((-1 != url.indexOf("EditCommonModule") || -1 != url.indexOf("CreateCommonModule") || -1 != url.indexOf("CloneCommonModule")) && void 0 !== resp.entityId) { | |
var mode = "1"; | |
-1 != url.indexOf("EditCommonModule") && (mode = "2"), ManualTrigger.openManualTriggerDialog(resp.module, resp.entityId, mode) | |
} | |
if (document.getElementById("cmActivityBar_1") || document.getElementById("cmActivityBar")) { | |
var modId; | |
parModule = null != params["property(leContModSel)"] ? params["property(leContModSel)"] : params["property(modsel)"], modId = null != params["property(leContModId)"] ? params["property(leContModId)"] : params["property(modid)"], mapView.addOpenActivity(modId, parModule) | |
} | |
var isActivityModule = "Activities" === Crm.activityGrp[module]; | |
isActivityModule && -1 != Activities.reminderList.indexOf(resp.entityId) && ($("#reminder_notification").text($("[id='notificationCount']").text()).show(), $(".remainder-notifi").slideUp(), $(".timericon").removeClass("footIconActive timericonAct"), $("#reminderContent").html(""), $("[name='reminderCount']").val(""), Activities.reminderList = ""); | |
var refreshPage = "Events" === module && "clone" !== window[module].currentStatus ? !1 : !0; | |
if (isActivityModule && "edit" === window[module].currentStatus && updateLeftPanel(params["property(id)"], module), cBn && cBn(resp, isErrorResp), Crm.requestParam = {}, !isNew && isActivityModule && "edit" === window[module].currentStatus) { | |
if (ActivityMoreInfoContent = "", "true" === $("#iskanbanview").val() && $("#entitypopup").length) | |
return window[detailView.currentModule].currentStatus = void 0, void loadActivityDetails(void 0, $("#recordid_" + resp.entityId), { | |
module: module | |
}, resp.entityId, !0); | |
if ($("#rightPanel").length && $("#detailCView").length) { | |
window[detailView.currentModule].currentStatus = void 0, loadActivityDetails(void 0, void 0, void 0, resp.entityId, !0); | |
var editObj = crmHistory.historyArr.pop(); | |
crmHistory.historyArr2.pop(); | |
var dummyObj = { | |
orgCalleeObj: "crm", | |
clickId: "detailView", | |
calleeObj: "crmDummy" | |
}; | |
return dummyObj.module = editObj.data.module, dummyObj.id = editObj.data.id, void Crm.addToHistory(void 0, void 0, dummyObj) | |
} | |
} | |
if (isNew) | |
resp.displayName && $("#rItemDataSubDiv").find("#recentItemImg_" + resp.entityId).find("div").text(resp.displayName), "Potentials" == module ? ZRJobBoardsUtil.showJBPublishPopUp(resp.entityId, resp.JobOpeningName, !0) : resp && "process" === resp.recSource ? Crm.addToHistory(void 0, void 0, { | |
clickId: "detailView", | |
module: "Leads", | |
id: resp.leadId, | |
pfrom: "cv", | |
calleeObj: "Crm" | |
}) : (params = {}, "Calls" === module && (module = "Tasks", params.entityid = resp.entityId, params.relmodule = "Calls", params.iskanbanview = "true"), params.module = module, params.clickId = "createbtn", params.calleeObj = "Crm", Crm.addToHistory(void 0, void 0, params)); | |
else if (-1 != url.indexOf("EditCommonModule") && refreshPage) | |
if (void 0 != resp.isPRView && "resumeinboxPreview" == resp.isPRView) | |
$(".lyteModalClose").click(), ZRResumeInbox.showRIReports("success", "1"), crmui.showMsgBand("success", I18n.getMsg("crm.entity.update.success", I18n.getMsg("Lead")), 4e3); | |
else if (void 0 != resp.isPRView && "true" == resp.isPRView && "1" == resp.saveAndNew) | |
ajaxNew("/recruit/ImportFromDocument.do?module=Leads&paste=pasteparser"); | |
else if ("listView" == Crm.editReqFrom) { | |
var pfrom = $("#pfrom").length ? $("#pfrom").val() : "cv"; | |
Crm.addToHistory(void 0, void 0, { | |
clickId: "detailView", | |
module: resp.module, | |
id: resp.entityId, | |
recordNum: $("#recordNum").val(), | |
pfrom: pfrom, | |
lookback: !0, | |
step: "2", | |
calleeObj: "Crm" | |
}) | |
} else if (historyObj = crmHistory.getPrevState()) { | |
var curStatus = History.getState(), | |
data = curStatus.data, | |
Historydata = historyObj.data; | |
Historydata.hasOwnProperty("isJobBoardsSelected") && delete Historydata.isJobBoardsSelected, data.hasOwnProperty("activityType") && (Historydata.activityType = data.activityType), crmHistory.popHistoryArr2(), Historydata.clickId = "detailView", Historydata.calleeObj = "Crm", Crm.addToHistory(void 0, void 0, Historydata, historyObj.url) | |
} else { | |
var data = crmHistory.getCurrentStateData(); | |
Crm.addToHistory(void 0, void 0, { | |
clickId: "detailView", | |
module: data.module, | |
id: data.id, | |
calleeObj: "Crm" | |
}) | |
} | |
else if (params.returnAnchor) { | |
{ | |
params.returnAnchor | |
} | |
params.returnAnchor && (Crm.scrollToElem = params.returnAnchor), crmHistory.back() | |
} else if ("homePage" === Crm.editReqFrom) | |
Utils.triggerEvent("click", $("#tab_Home")); | |
else if (resp && "process" === resp.recSource) { | |
if (window.location.href.indexOf("Approval") > -1) | |
return; | |
Crm.addToHistory(void 0, void 0, { | |
clickId: "detailView", | |
module: "Leads", | |
id: resp.leadId, | |
pfrom: "cv", | |
calleeObj: "Crm" | |
}) | |
} else | |
"Events" == resp.module && refreshPage || "Tasks" == resp.module || "Calls" == resp.module ? (Crm.addToHistory(void 0, void 0, { | |
clickId: "detailView", | |
module: resp.module, | |
id: resp.entityId, | |
pfrom: "cv", | |
calleeObj: "Crm" | |
}), Crm.trackSpotLightAction("New " + resp.module + " Added")) : refreshPage && (void 0 != resp.isPRView && "resumeinboxPreview" == resp.isPRView ? ($(".lyteModalClose").click(), ZRResumeInbox.showRIReports("success", "1"), crmui.showMsgBand("success", I18n.getMsg("crm.entity.add.success", I18n.getMsg("Lead")), 4e3)) : void 0 != resp.isPRView && "true" == resp.isPRView && "1" == resp.saveAndNew ? ajaxNew("/recruit/ImportFromDocument.do?module=Leads&paste=pasteparser") : Crm.addToHistory(void 0, void 0, { | |
clickId: "detailView", | |
module: resp.module, | |
id: resp.entityId, | |
calleeObj: "Crm" | |
}), ("Leads" == resp.module || "Contacts" == resp.module) && Crm.trackSpotLightAction("New " + resp.module + " Added")); | |
void 0 != customViewObject.isMapView && customViewObject.isMapView !== !0 && crmTab.deleteFromCache(module) | |
} | |
}, | |
saveEntity_FailureCallback: function(xhr, url, module) { | |
$("#save" + module + "Btn,#save" + module + "Btn_Bottom,#cancel" + module + "Btn,#cancel" + module + "Btn_Bottom,#saveAndNew" + module + "Btn,#saveAndNew" + module + "Btn_Bottom").removeAttr("disabled"), xhr && "string" == typeof xhr && (xhr.indexOf("DUPLICATE") >= 0 || xhr.indexOf("CLIENT_LOGIN_ENABLED") >= 0 || xhr.indexOf("CANDIDATE_PORTAL_ENABLED") >= 0) ? Utils.checkErrorMsg(JSON.parse(xhr), void 0, url) : xhr && "" != xhr && null != xhr && -1 != xhr.indexOf("JOB_LIMIT_EXCEEDED") ? crmui.showMsgBand("warning", I18n.getMsg("zr.job.limit.primary.alert"), "infinity") : xhr && "string" == typeof xhr && xhr.indexOf("Unauthorised") >= 0 && crmui.showMsgBand("error", I18n.getMsg("crm.security.error"), "infinity"), Utils.showHideLoadingDiv() | |
}, | |
getAssociateJOForImport: function(lookupElemSelector, formInputElemSelector) { | |
var joElem = $(lookupElemSelector); | |
if (joElem && joElem.length > 0) { | |
var joId = joElem.data("id"); | |
if (joId) { | |
if (formInputElemSelector) { | |
var joFormInputElem = $(formInputElemSelector); | |
joFormInputElem && joFormInputElem.length > 0 && joFormInputElem.val(joId) | |
} | |
return joId | |
} | |
} | |
}, | |
canvasBgImg: { | |
start: function(id) { | |
this.canvas = document.getElementById(id), this.ctx = this.canvas.getContext("2d"), this.starList = [] | |
}, | |
draw: function(self, alpha, width, height, r) { | |
self.ctx.beginPath(), self.ctx.globalAlpha = alpha, self.ctx.arc(width, height, r, 0, 2 * Math.PI, !1), self.ctx.fillStyle = "#ffffff", self.ctx.fill() | |
}, | |
init: function(id) { | |
this.start(id); | |
for (var i = 0; i < this.canvas.width / 3; i++) | |
this.starList.push({ | |
drawFunc: this.draw, | |
alpha: .5 * Math.random() + .5, | |
width: Math.random() * this.canvas.width, | |
height: Math.random() * this.canvas.height - 50, | |
r: 1 * Math.random() + .8, | |
speed: 2 * Math.random() | |
}); | |
var self = this, | |
loop = function() { | |
self.ctx.clearRect(0, 0, self.canvas.width, self.canvas.width); | |
for (var i = 0; i < self.canvas.width / 3; i++) | |
self.starList[i].height = self.starList[i].height + self.starList[i].speed, self.starList[i].drawFunc(self, self.starList[i].alpha, self.starList[i].width, self.starList[i].height, self.starList[i].r), self.starList[i].height > self.canvas.height && (self.starList[i].height = 0); | |
requestAnimationFrame(loop) | |
}; | |
requestAnimationFrame(loop) | |
} | |
}, | |
loadTemplateCallout: function(selector, action) { | |
if ("rd1" === action) { | |
var test = $("#tabLayer"), | |
top = test.position().top + test.outerHeight(); | |
$(selector).css({ | |
top: top + "px" | |
}).show(), ".chrisnew" === selector && ZRCommonUtil.canvasBgImg.init("canvasSmall"), ZRCommonUtil.trackBanner("smallOpened") | |
} else | |
"rd2" === action ? (freezeBackground(), $("#FreezeLayer").removeClass("freezeLayer").addClass("zrc-freeze"), $(selector).show(), ".chrisnewbig" === selector && ZRCommonUtil.canvasBgImg.init("canvasBig"), ZRCommonUtil.trackBanner("bigOpened")) : "rd3" === action && (ZRCommonUtil.closeTempCallout("chrisnewbig", selector), ".chrisnewbig" === selector && (ZRCommonUtil.trackBanner("interested"), crmui.showMsgBand("success", "Thank you for upgrading! Please check your email for more details on this offer.", 2e4))) | |
}, | |
highlightTransitionGuide: function() { | |
if ($(".sticky-notes-label").length > 0) { | |
var csrf_Token = ZRCommonUtil.getCookieValue("crmcsr"), | |
params = {}; | |
csrf_Token && null != csrf_Token && (params[csrfParamName] = csrf_Token), ZRCommonUtil.ajaxPostMethod("/recruit/TransitionGuide.do", params, !1, "json", void 0) | |
} | |
$(".sticky-notes-label").removeClass("sticky-notes-label"), window.open("https://www.zoho.com/recruit/userguide/recruit-2017-transition.html") | |
}, | |
trackBanner: function(step) { | |
ZRCommonUtil.ajaxGetMethod("/recruit/BannerTool.do?action=trackBanner", { | |
step: step | |
}, !0, "json", void 0, function() {}, function() {}) | |
}, | |
closeTempCallout: function(action, selector) { | |
$(selector).hide(), $("#FreezeLayer").remove(), "zrwhatsnew" === action ? ($("body").removeClass("oH"), $("#zr-whatsnew-container iframe").each(function() { | |
var src = $(this).attr("src"); | |
$(this).attr("src", src) | |
}), $("#zr-whatsnew-container video").each(function() { | |
this.pause(), this.currentTime = 0 | |
})) : (".chrisnewbig" === selector || ".chrisnew" === selector) && (document.cookie = "zrchristmas2018=done;", ZRCommonUtil.trackBanner("closed")) | |
}, | |
getSearchParamsFromHistory: function(params) { | |
var state = History.getState(); | |
if (document.CreateCustomViewForm) { | |
var postData = formData2QueryString(document.CreateCustomViewForm); | |
postData += formSelectColumnString(), postData = postData + "&" + Territory.csrf(), 10 === CustomView.maxFav && (postData += "&isNewLimit=true"); | |
var resObj = Utils.splitStringToObj(postData); | |
$.extend(params, resObj) | |
} else { | |
var urlParams = state.data; | |
if ("true" == urlParams.isSearch && (params.module == urlParams.module || params.module != urlParams.module && ("Tasks" == urlParams.module || "Events" == urlParams.module || "Calls" == urlParams.module))) { | |
var removeListFilter = !0; | |
params.filters && (removeListFilter = !1); | |
var removeSearchLetter = !0; | |
params.searchletter && (removeSearchLetter = !1); | |
for (var key in urlParams) | |
params.hasOwnProperty(key) || (params[key] = decodeURIComponent(urlParams[key])); | |
removeListFilter && delete params.filters, removeSearchLetter && delete params.searchletter, params.previous_sort_order && delete params.previous_sort_order, params.previous_sort_column && delete params.previous_sort_column | |
} | |
} | |
}, | |
bindSetupScrollActivity: function(elem) { | |
if ($("#setup_new_ContentDiv").scrollTop() > 500 ? ($("#scrollTopDiv").fadeIn(), $("#scrollTopDiv").find(".zc-scrollTop").addClass("active")) : ($("#scrollTopDiv").find(".zc-scrollTop").removeClass("active"), $("#scrollTopDiv").fadeOut()), Math.round($("#setup_new_ContentDiv").scrollTop()) == $("#result").height() - $("#setup_new_ContentDiv").height()) { | |
var data = elem.data("scrolldata"); | |
data = data ? data : {}, data && "string" == typeof data && (data = JSON.parse(data)), data && data.shownext && "true" === data.shownext && window[data.callee] && !window[data.callee].ISLOADMORE ? (data.isAppend = "true", data.action = "more", window[data.callee].ISLOADMORE = !0, window[data.callee].loadMoreData(data, function() { | |
window[data.callee].ISLOADMORE = !1 | |
})) : data && data.shownext && "true" === data.shownext && data.customfn && window[data.customfn].apply(this) | |
} | |
}, | |
detailPageInterviewFeedbackForm: function(elem) { | |
var targetElem = $(elem), | |
changeStatusLink = $("#detail_status_link").find("a.cs-link"); | |
if (changeStatusLink && changeStatusLink.length > 0) { | |
targetElem.data("module", detailView.currentModule).data("pkid", returnJson[detailView.currentModule].entityid).data("positiondata", { | |
modal: ".notes-block", | |
placement: "left" | |
}).data("from", "interviewFb"); | |
var isRowExist = !1, | |
candidateStatus = $("#detail_status_area").text().trim(), | |
actualStatus = $("#jo-status").val(), | |
leadStatus = $("#leadStatus") ? $("#leadStatus").val() : void 0; | |
candidateStatus.indexOf(":") > -1 && (isRowExist = !0, candidateStatus = candidateStatus.split(":")[1]), ZRStatusUtil.recentstatusedit(targetElem, isRowExist, candidateStatus, actualStatus, leadStatus) | |
} else | |
targetElem.data("module", detailView.currentModule).data("feedback", !0).data("pkid", returnJson[detailView.currentModule].entityid).data("positiondata", { | |
modal: ".notes-block", | |
placement: "left" | |
}), ZRStatusUtil.recentstatusedit(targetElem, isRowExist, candidateStatus, actualStatus, leadStatus, void 0, !0) | |
}, | |
showUnsupportedFieldsList: function(inSubject, inBody, inFooter, mode) { | |
$("#unsupporetdMergeFieldPopSub").html(I18n.getMsg("crm.template.email.unsupported.merge.field.msg.template")), freezeBackground(), $("#FreezeLayer").css("z-index", 999), mailsetCenter("unsupportedMergeFieldPop"); | |
var resStr; | |
if (void 0 != inSubject && inSubject.length > 0) { | |
resStr = '<div class="mT10 f14 proximas btxt1">' + I18n.getMsg("crm.template.email.in.subject") + '</div><div class="mT10">'; | |
for (var i = 0; i < inSubject.length; i++) | |
resStr = resStr + (i + 1) + ". " + $ESAPI.encoder().encodeForHTML(inSubject[i]) + "<br>"; | |
resStr += "</div>", $("#unsupportedSubjectMergeField").html(resStr), getElemById("unsupportedSubjectMergeField").style.display = "" | |
} | |
if (void 0 != inBody && inBody.length > 0) { | |
resStr = '<div class="mT10 f14 proximas btxt1">' + I18n.getMsg("crm.template.email.in.body") + '</div><div class="mT10">'; | |
for (var i = 0; i < inBody.length; i++) | |
inBody[i] = "1" == mode ? inBody[i] : $ESAPI.encoder().encodeForHTML(inBody[i]), resStr = resStr + (i + 1) + ". " + inBody[i] + "<br>"; | |
resStr += "</div>", $("#unsupportedBodyMergeField").html(resStr), getElemById("unsupportedBodyMergeField").style.display = "" | |
} | |
if (void 0 != inFooter && inFooter.length > 0) { | |
resStr = '<div class="mT10 f14 proximas btxt1">' + I18n.getMsg("crm.template.email.in.footer") + '</div><div class="mT10">'; | |
for (var i = 0; i < inFooter.length; i++) | |
resStr = resStr + (i + 1) + ". " + $ESAPI.encoder().encodeForHTML(inFooter[i]) + "<br>"; | |
resStr += "</div>", $("#unsupportedFooterMergeField").html(resStr), getElemById("unsupportedFooterMergeField").style.display = "" | |
} | |
return $("#unsupportedMergeFieldPop").css("z-index", 1e3), $("[name='okTemplateBtn']").off("click"), $("[name='okTemplateBtn']").on("click", function() { | |
getObj("unsupportedMergeFieldPop").style.display = "none", getElemById("unsupportedBodyMergeField").style.display = "none", $("#unsupportedMergeFieldPop").css("z-index", 32), removeFreezeLayer() | |
}), !1 | |
}, | |
addAnnounceActions: function() { | |
return 0 === $(".ratStarTd").length ? void $("#announce,#cRtTTip").remove() : ($("#announce").bind("mouseover mouseout", function() { | |
var cRtTTip = $("#listviewHeaderRow").find("#cRtTTip"); | |
$(cRtTTip).toggle() | |
}), $("#announce").click(function() { | |
var params = {}, | |
template = ZRCommonUtil.getTemplateContent("common", "Tour"); | |
template = template(params); | |
$("#listviewHeaderRow").find("#ratingAnnounce"); | |
$("body").append(template), $("#tourBg,#ratingBrd,#pulseDot").show("fast"), $("#skipTempTour").click(function() { | |
$("#tourBg,#ratingBrd,#pulseDot").hide("fast", function() { | |
$(".customTour").remove() | |
}) | |
}), $("#skipTempTour2").click(function() { | |
$("#tourBg,#tempChgRatBrd,#pulseDot").hide("fast", function() { | |
$(".customTour").remove() | |
}) | |
}), $("#clickNextView").click(function() { | |
$("#tempChgRatBrd").show(), $("#ratingBrd").hide(), $("#tempChgRatBrd").css({ | |
top: "225px", | |
left: "215px" | |
}), $("#pulseDot").css({ | |
top: "220px", | |
left: "210px" | |
}) | |
}), $("#chngRatNxt").click(function() { | |
$("#tempChgRatBrd").hide(), $("#tempFinshBrd").show() | |
}), $("#finishView").click(function() { | |
$("#tempFinshBrd,#tourBg,#pulseDot").hide("fast", function() { | |
$(".customTour").remove() | |
}) | |
}), null === ZRCommonUtil.getCookieValue("_candRating") && (document.cookie = "_candRating=ratingTourClicked;") | |
}), void (null === ZRCommonUtil.getCookieValue("_candRating") && $("#announce").click())) | |
}, | |
updateRatingDiv: function(rating, entityId, relatedRatingId, thisElem) { | |
(null === thisElem || void 0 === thisElem) && (thisElem = "#tdRatBlk_" + entityId); | |
var clE1 = $(thisElem).find("#starElem1_" + entityId), | |
clE2 = $(thisElem).find("#starElem2_" + entityId), | |
clE3 = $(thisElem).find("#ratingValueElem_" + entityId), | |
cl1 = "", | |
cl2 = "", | |
cl3 = ""; | |
null == rating ? (cl1 = "lstStarBdr", cl2 = "grayStar fR", cl3 = "nR fL") : 0 == rating ? (cl1 = "lstStarBdr", cl2 = "grayStar fR", cl3 = "rat2_above fL") : rating > 0 && 2 > rating ? (cl1 = "lstStarBdr", cl2 = "grayBgStar fR", cl3 = "rat2_above fL") : rating >= 2 && 4 > rating ? (cl1 = "lstStarBdr rat3Bdr", cl2 = "grayBgStar fR", cl3 = "rat3_above fL") : rating >= 4 && 5 >= rating && (cl1 = "lstStarBdr rat4Bdr", cl2 = "selStar fR", cl3 = "rat4_above fL"), $(clE1).removeAttr("class"), $(clE2).removeAttr("class"), $(clE3).removeAttr("class"), $(clE1).addClass(cl1), $(clE2).addClass(cl2), $(clE3).addClass(cl3); | |
var ratingValues = $(thisElem).find("#ratingValues"), | |
existParams = $(ratingValues).data("params"); | |
existParams = null == existParams || void 0 == existParams ? {} : existParams, existParams.rating = rating, existParams.ratingEntity = entityId, null !== relatedRatingId && void 0 !== relatedRatingId && "" !== relatedRatingId.trim() && (existParams.relatedId = relatedRatingId), $(ratingValues).data("params", existParams); | |
var actualRating = $(thisElem).find("#actualRating"); | |
rating = null === rating || void 0 === rating || isNaN(rating) ? "--" : parseFloat(rating).toFixed(1), $(actualRating).html(rating) | |
}, | |
toDisplayNoRating: function(thisElem) { | |
var actRatDiv = $(thisElem).find("#actualRating"), | |
actRat = $(actRatDiv).html(); | |
"--" === actRat && zctt.showtt(I18n.getMsg("crm.rating.not.given")) | |
}, | |
updateRating: function(thisElem) { | |
var entityId = $("#ratEntity").val(), | |
rating = $(".selBigStar").length, | |
url = "/recruit/AddRemoveStar.do", | |
desc = $("#ratingDesc").val(); | |
params = { | |
pkid: entityId, | |
rating: rating, | |
module: "Leads", | |
description: desc | |
}; | |
var relatedRatingId = $("#relatedIdFromDOM").val(); | |
null !== relatedRatingId && void 0 !== relatedRatingId && "" !== relatedRatingId.trim() && (params.relatedId = relatedRatingId), $("#ajax_load_tab").show(), ZRCommonUtil.ajaxPostMethod(url, params, !1, "json", void 0, function(resp) { | |
$("#ajax_load_tab").hide(), "success" === resp.message ? (0 === rating && (rating = null), ZRCommonUtil.updateRatingDiv(rating, entityId, relatedRatingId, thisElem), $("#fullInfoNoteDiv").length && null != desc && void 0 != desc && "" !== desc.trim() && "Leads" === $("#note_module").val() && Notes.loadNotes(entityId, !1, "Leads")) : "invalidRating" === resp.message && ZRCommonUtil.createInfoBox({ | |
titleclass: "til warning", | |
title: I18n.getMsg("crm.formula.alert"), | |
content: I18n.getMsg("crm.rating.invalidvalue"), | |
savebtn: I18n.getMsg("crm.button.ok") | |
}) | |
}, function() { | |
ZRCommonUtil.createInfoBox({ | |
titleclass: "til warning", | |
title: I18n.getMsg("crm.formula.alert"), | |
content: I18n.getMsg("error.database.problem"), | |
savebtn: I18n.getMsg("crm.button.ok") | |
}) | |
}) | |
}, | |
toggleAnswerSheet: function() { | |
var closestTr = $(".previewEyeIc").closest("tr"); | |
$(closestTr).each(function() { | |
$(this).unbind("mouseover").unbind("mouseout").bind("mouseover mouseout", function() { | |
var prevEye = $(this).find(".previewEyeIc"); | |
"hidden" === $(prevEye).css("visibility") ? $(prevEye).css("visibility", "visible") : $(prevEye).css("visibility", "hidden") | |
}) | |
}) | |
}, | |
getTermsAndConditionsContent: function(fieldId) { | |
var tcContent = "<br>"; | |
if (fieldId) { | |
var url = "/recruit/CustomModule.do?operation=edit&action=getTCContent&fieldId=" + fieldId; | |
$.ajax({ | |
type: "GET", | |
url: url, | |
async: !1, | |
success: function(res) { | |
var responseObj = JSON.parse(res); | |
tcContent = responseObj.tcContent | |
} | |
}) | |
} | |
return tcContent | |
}, | |
switchOlderVersion: function() { | |
var data = {}, | |
switchUrl = "/recruit/SwitchToOlderVersion.do"; | |
data[csrfParamName] = encodeURIComponent(csrfToken), ZRCommonUtil.ajaxPostMethod(switchUrl, data, !1, void 0, void 0, function() {}, function() {}) | |
}, | |
filterWithField: function(ev, targetElem) { | |
if ($("#lv_left_filter").is(":visible")) { | |
var filterSearchElem = $("#lv_filter_srchdiv").length ? $("#lv_filter_srchdiv").css("display") : "none"; | |
"block" == filterSearchElem && ($("#lv_filter_search_clear").hide(), $("#lv_filter_srchdiv").hide(), $("#lv_filter_search").show(), $("#lv_filter_scroll .filterContainBox").show(), $("#lv_filter_caption").show(), $("#lv_filter_srchIcon").show(), $("#lv_filter_srch_input").val("").focus().trigger("keyup")), ZRCommonUtil.showFilterField(ev, targetElem) | |
} else | |
crmListView.showHideFilters(ev, $("#showhidefilters")), setTimeout(function() { | |
ZRCommonUtil.showFilterField(ev, targetElem) | |
}, 500) | |
}, | |
showFilterField: function(ev, targetElem) { | |
var dataParam = $(targetElem).data("params"), | |
filterContainerElem = $("#lv_filter_scroll"), | |
fieldVal = dataParam.fieldValue; | |
if (void 0 != fieldVal && "" != fieldVal) { | |
var dataElem = $(document).find("[data-value='" + fieldVal + "']"); | |
if (dataElem.length > 0) | |
if ($(dataElem).is(":checked")) { | |
var dataElemParams = $(dataElem).data("params"); | |
if (void 0 != dataElemParams) { | |
var type = dataElemParams.searchfieldtype, | |
filterElem = $(dataElem).parents().closest("div.facetContainer"); | |
if ("MPL" === type || "picklist" === type) | |
$(filterElem).find("input.select2-search__field").focus().click(); | |
else if ("ACT" != type) { | |
var filterValElem = $(filterElem).find("input.filterValue"); | |
$(filterValElem).length > 0 && $(filterValElem).focus().click() | |
} | |
} | |
} else | |
$(dataElem).click(); | |
$(filterContainerElem).animate({ | |
scrollTop: $(dataElem).offset().top - $(filterContainerElem).offset().top + $(filterContainerElem).scrollTop() | |
}, 500) | |
} | |
}, | |
openURLInNewTab: function(url) { | |
var windOpener = window.open(url); | |
windOpener.opener = null | |
}, | |
manageZohoForms: function(formUrl) { | |
var data = {}; | |
data.redirectUrl = formUrl; | |
var elem = document.createElement("zoho-forms-integ"); | |
elem.id = "zoho-forms-integ", elem.setData("zohoforms", data), $("#result").empty().html(elem).show() | |
}, | |
removeAnswersFilter: function(respJson) { | |
var closestFacetDiv = $("#answerFilterDiv").closest(".oneFacet"); | |
if (respJson && "Leads" === respJson.module && void 0 === respJson.assocAsmntId) { | |
$(closestFacetDiv).hide(); | |
var checkEq; | |
customViewObject.cvFilters[0].type.length && (checkEq = customViewObject.cvFilters[0].type), checkEq && "ASSJO" == checkEq ? $($(".oneFacet.filterContainBox")[1]).addClass("filter-sep") : $($(".oneFacet.filterContainBox")[0]).addClass("filter-sep") | |
} | |
}, | |
showHideAdvOptionImport: function(id) { | |
$("#importsecondaryItem").hide(); | |
var importFileObj_Temp = document.getElementById(id); | |
void 0 != importFileObj_Temp && (importFileObj_Temp.onchange = function(event) { | |
var input = this.files[0]; | |
input && ($("#importsecondaryItem").show(), Utils.bindChosen($("#findBy")), Utils.bindChosen(".newSelect select"), changingDesktop(void 0, $(event.target))) | |
}) | |
}, | |
showChildAccounts: function() { | |
if ("undefined" == typeof ZRSME.queriedObj.datamirroring) | |
return alert("Please search, to tranfer Candidates"), void $("#checkAll").click(); | |
var copyFn = function() { | |
var field = $("#zr-copy-no-of-candidates"), | |
number = field.val(); | |
if (!/[0-9]+/.test(number)) { | |
var fld = field.parent().parent(); | |
return fld.find(".ms-errorMsg").remove(), fld.append('<span class="ms-errorMsg" style="top:30px;">' + I18n.getMsg("Please enter valid number") + "</span>"), field.focus(), !1 | |
} | |
field.parent().parent().find(".ms-errorMsg").remove(); | |
var email = $("#zr-copy-to-account").val(), | |
refineFilters = ZRSME.queriedObj.datamirroring; | |
"undefined" == typeof refineFilters && (refineFilters = {}); | |
var sourcefield = $("#zr-copy-source"), | |
source = sourcefield.val(); | |
if (!source || "" === source.trim()) { | |
var fld = sourcefield.parent().parent(); | |
return fld.find(".ms-errorMsg").remove(), fld.append('<span class="ms-errorMsg" style="top:30px;">' + I18n.getMsg("Please give a source value") + "</span>"), sourcefield.focus(), !1 | |
} | |
refineFilters.email = email, refineFilters.count = number, refineFilters.source = source, ZRSME.showMatchedRecords("Potentials", void 0, refineFilters, !0), $("#zr-partner-copy-candidates").remove(), ZRComponent.openAlertMessage({ | |
boldMsg: "Copy of selected Resumes has been scheduled!", | |
msg: "", | |
type: "info", | |
display: "top", | |
scroll: !1, | |
duration: 1e4 | |
}) | |
}, | |
elem = Utils.createHTML({ | |
name: "div", | |
attr: { | |
style: "left: 38%; margin-left: -340px; display: block;", | |
id: "zr-partner-copy-candidates", | |
"class": "newPopup top0 wid950" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "popupHeaderClass popup-model-header" | |
}, | |
child: [{ | |
name: "span", | |
text: "Choose Child account to transter candidates", | |
attr: { | |
"class": "newPopupTitle pL0 pT0" | |
} | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "popupBodyClass p30" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
id: "main1", | |
"class": "sems-main-block hei200" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "sems-sb-block newmandatory" | |
}, | |
child: [{ | |
name: "label", | |
text: "No. of Candidates", | |
attr: { | |
"class": "sbl" | |
} | |
}, { | |
name: "div", | |
attr: { | |
"class": "sems-sb-val" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
placeholder: "1-5000", | |
type: "text", | |
id: "zr-copy-no-of-candidates", | |
name: "zr-copy-no-of-candidates" | |
} | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "sems-sb-block newmandatory" | |
}, | |
child: [{ | |
name: "label", | |
text: "Source", | |
attr: { | |
"class": "sbl" | |
} | |
}, { | |
name: "div", | |
attr: { | |
"class": "sems-sb-val" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
placeholder: "source value", | |
type: "text", | |
id: "zr-copy-source", | |
name: "zr-copy-source" | |
} | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "sems-sb-block newmandatory" | |
}, | |
child: [{ | |
name: "label", | |
html: "Child Account", | |
attr: { | |
"class": "sbl" | |
} | |
}, { | |
name: "div", | |
attr: { | |
"class": "sems-sb-val top5" | |
}, | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "fL" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
type: "text", | |
id: "zr-copy-to-account", | |
name: "zr-copy-to-account", | |
"class": "disabld", | |
value: ZRSME.queriedObj.datamirroring.childaccount | |
} | |
}] | |
}] | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "sems-btns-block" | |
}, | |
child: [{ | |
name: "input", | |
attr: { | |
id: "zr-partner-copy-candidates-cancel", | |
type: "button", | |
"class": "zrc-btn-secondary marR5", | |
value: "Cancel" | |
}, | |
events: [{ | |
name: "click", | |
fn: function(ev) { | |
$(ev.target).parents("#zr-partner-copy-candidates").remove() | |
} | |
}] | |
}, { | |
name: "input", | |
attr: { | |
id: "zr-partner-copy-candidates-copy", | |
type: "button", | |
"class": "zrc-btn-primary", | |
value: "Copy" | |
}, | |
events: [{ | |
name: "click", | |
fn: copyFn | |
}] | |
}] | |
}] | |
}] | |
}] | |
}); | |
$("#zr-partner-copy-candidates").remove(), $("body").append(elem) | |
}, | |
getDisplayModuleName: function(module, singular) { | |
if (module) { | |
var modInfo = "object" == typeof Crm.userDetails.MODULE_LIST ? Crm.userDetails.MODULE_LIST : $.parseJSON(Crm.userDetails.MODULE_LIST); | |
return I18n.getMsg(singular ? modInfo[module][0] : modInfo[module][1]) | |
} | |
}, | |
moveElementInsideArray: function(arr, fromIndex, toIndex) { | |
var element = arr[fromIndex]; | |
arr.splice(fromIndex, 1), arr.splice(toIndex, 0, element) | |
}, | |
loadSelectBoxValues: function(selectObj) { | |
var params = { | |
box: !0, | |
searchlimit: 5, | |
maxlen: 35, | |
callback: function(type) { | |
"focus" === type && $(selectObj).selectBox("position"), "create" == type && ($(selectObj + "-sbox").show(), $(selectObj + "-sbox").addClass("marL30 minW200 marB20")) | |
} | |
}; | |
$(selectObj).selectBox(params) | |
}, | |
removeUnWantedErrMsg: function() { | |
var selectedVal = $("#webform-select").val(); | |
0 != selectedVal && ($("#jb-alert-caselect").remove(), walkThroughs.tourVariables.isTour && walkThroughs.setPosition()) | |
}, | |
getSetupPasteContent: { | |
"/recruit/OfferTemplates.do": { | |
foldername: "OfferManagement", | |
filename: "ShowOfferTemplates", | |
callback: function(requestData) { | |
$("#defaultOfferView").find(".moreIcon").moreOption(), $("#offerFieldSelection,#contractFieldSelection").selectBox({ | |
box: !1 | |
}), $("#fieldconfiguration .zrc-value").show(), "getAndCreateTemplate" === requestData.params.action && setTimeout(function() { | |
$("#create-template").click() | |
}, 800) | |
} | |
} | |
}, | |
getSetupPasteContentCallBack: function(requestData, elements, response) { | |
var template = ZRCommonUtil.getTemplateContent(elements.foldername, elements.filename); | |
response = ZRCommonUtil.convertStringToJson(response), response = template(response), $("#result").empty(), $("#result")[0].innerHTML = response, $("#settingInner").hide(), $("#setupshow").show(), elements.callback && elements.callback(requestData, response) | |
}, | |
bindEscapeFunction: function(divId, escapefn) { | |
escapefn && "function" == typeof escapefn && $("#" + divId).bind("keyup", function(e) { | |
e.keyCode == crmConstants.keyCodes.escape && escapefn.apply(window, [e, e.target]) | |
}) | |
}, | |
validateReviewParams: function(data) { | |
var mandQuestionDiv, | |
qeComLenViol = !1; | |
if ($("#submit-recruiter-assessment").find(".sc-qst-block").each(function(ind, obj) { | |
var parent = $(obj).closest(".sc-qst-block"), | |
cmtTxt = $(parent).find(".sc-qst-comments").val(); | |
if ($(obj).find(".red").length > 0) { | |
if (data && data.candReview === !1) | |
var intQuestionNoViol = $(obj).find(".sc-tup").length > 0 && $(obj).find(".suc").length > 0 || $(obj).find(".sc-tdo").length > 0 && $(obj).find(".fai").length > 0; | |
else | |
var score = ZRCommonUtil.getRatingVal($(obj).find(".starElem")); | |
(!cmtTxt || "" === cmtTxt.trim() || 0 === cmtTxt.length || void 0 !== score && 0 === score || !intQuestionNoViol) && (mandQuestionDiv = parent) | |
} | |
cmtTxt && cmtTxt.length > 15e3 && (qeComLenViol = !0) | |
}), qeComLenViol) | |
return crmui.showMsgBand("warning", I18n.getMsg("zr.ratings.reviews.msg50", I18n.getMsg("Comments"), "15000"), 3e3), !1; | |
if (mandQuestionDiv) | |
return $(mandQuestionDiv).find(".sc-comm").click(), crmui.showMsgBand("error", I18n.getMsg($("#ratingFinalSection").length > 0 ? "crm.inter.asmnt.mand.question" : "zr.ratings.reviews.msg9"), 3e3), !1; | |
if ($("#ratingAndReviewSection").length || $("#overallReviewRating").length) { | |
var objStr = $("#overallReviewRating").length ? "#overallReviewRating" : "#ratingAndReviewSection", | |
score = ZRCommonUtil.getRatingVal($(objStr).find(".starElem")); | |
if (void 0 !== score && 0 === score) | |
return crmui.showMsgBand("error", I18n.getMsg("zr.ratings.reviews.msg10"), 3e3), !1 | |
} else if ($("#ratingFinalSection").length) { | |
var actStatus = document.querySelector("submit-recruiter-assessment").getData("actualStatus"); | |
if (void 0 === actStatus) | |
return crmui.showMsgBand("error", I18n.getMsg("crm.inter.asmnt.overall.decision"), 3e3), !1 | |
} | |
var ratingReviewContent = $("#qeRatingReviewContent").length ? $("#qeRatingReviewContent").val() : $("#ratingReviewContent").val(); | |
return void 0 !== ratingReviewContent && ratingReviewContent.length > 6e3 ? (crmui.showMsgBand("error", I18n.getMsg("zr.ratings.reviews.msg50", [I18n.getMsg("zr.ratings.reviews.msg41"), "6000"]), 3e3), !1) : !0 | |
}, | |
isPeoplePlus: function() { | |
return !ZRCommonUtil.isStaffingType && Crm.userDetails.LICENSE_TYPE === crmConstants.LICENSE_EDITION_PEOPLEPLUS | |
}, | |
UpdateUserStatus: function(status, primaryUser) { | |
var isChecked = !1, | |
paid = Crm.userDetails.ISPAID_USER, | |
loginUser = Crm.userDetails.USER_ID, | |
userRowObj = getObj("row_u_" + loginUser); | |
if ($("#userlistview input:checked").length > 0) | |
for (var checkedBox = $("#userlistview input:checked"), chkLength = checkedBox.length, k = 0; chkLength > k; k++) { | |
var userRowObj = $(checkedBox[k]), | |
splitval = userRowObj.attr("id").split("_"), | |
data = userRowObj.data().params, | |
isClosed = data.isClosed, | |
isConfirmed = data.isConfirmed, | |
isActive = data.isActive, | |
splitUserId = splitval[1]; | |
if (loginUser != splitUserId && "true" != isClosed && primaryUser != splitUserId) { | |
var idVal = splitUserId; | |
" " != splitUserId && "undefined" != splitUserId && "" != idVal && (userIDS[k] = idVal), isChecked = !0 | |
} | |
} | |
if (1 == isChecked) { | |
if ("activate" == status) | |
document.viewAllUsersForm.actionName.value = "ActivateUserStatus"; | |
else if ("deactivate" == status) | |
document.viewAllUsersForm.actionName.value = "DeactivateUserStatus"; | |
else if ("delete" == status) | |
document.viewAllUsersForm.actionName.value = "DeleteUser"; | |
else { | |
if (1 == isConfirmed && "DISABLED" == isActive) | |
return alert(I18n.getMsg("crm.user.confirmed.selected")), selectAllUsersCheckbox(!1), getObj("destPage").value = "", !1; | |
document.viewAllUsersForm.actionName.value = "resendInvite" | |
} | |
document.viewAllUsersForm.method = "post" | |
} | |
if ("deactivate" == status && isChecked) | |
if ($("#activateAlertDiv").hide(), $("#activatebtn").hide(), "true" == paid) { | |
if ($("#AttentionBelow").show(), (new IntegrationService).doValidate(), void 0 != IntegrationService.isServiceAlerted && "S" == IntegrationService.isServiceAlerted) | |
return freezeBackground(), mailsetCenter("updateStatusAlertDiv"), document.getElementById("updateStatusAlertDiv").style.zIndex = "33", document.getElementById("updateStatusAlertDiv").style.display = "block", !1 | |
} else if ($("#AttentionBelow").hide(), (new IntegrationService).doValidate(), void 0 != IntegrationService.isServiceAlerted && "S" == IntegrationService.isServiceAlerted) | |
return freezeBackground(), mailsetCenter("updateStatusAlertDiv"), document.getElementById("updateStatusAlertDiv").style.zIndex = "30", document.getElementById("updateStatusAlertDiv").style.display = "block", !1; | |
if (isChecked) { | |
if ("activate" == status || "deactivate" == status) | |
return showUpdateStatusAlertMsg(status), !1; | |
if ("delete" == status) | |
return showDeleteUserAlertMsg(), !1; | |
for (var i = 0, l = userIDS.length; l > i; i++) | |
userids = userIDS[i]; | |
var params = formData2QueryString(document.viewAllUsersForm), | |
url = Utils.constructUrl("/recruit/Security.do"); | |
if ("reinvite" === status) { | |
var urljson = Utils.parseURLParamString(params); | |
for (var key in urljson) | |
key.startsWith("bonusUser_") && delete urljson[key]; | |
params = $.param(urljson) | |
} | |
return mR(url, function(resp) { | |
showFreezeMessage(resp) | |
}, params), !1 | |
} | |
return alert(I18n.getMsg("crm.user.noselect")), selectAllUsersCheckbox(!1), !1 | |
}, | |
loadEntityRating: function() { | |
$(".lstStarBdr").unbind("click").click(function(event) { | |
event.stopPropagation(); | |
var ratVal = $(this).find("#ratingValues"); | |
if (0 !== $(ratVal).length) { | |
var ratObj = $(ratVal).data("params"), | |
permission = ratObj.permission; | |
if (!permission) | |
return Utils.displayPermissionDenied(), void Utils.stopEvent(event); | |
if (!$(this).hasClass("dispRecordsRating") && !$(this).closest(".lstStarBdr").hasClass("dispRecordsRating")) { | |
var ratNum = ratObj.rating, | |
ratEntity = ratObj.ratingEntity; | |
ratNum = null === ratNum || void 0 === ratNum || isNaN(ratNum) ? 0 : parseFloat(ratNum).toFixed(1); | |
var relatedId = ratObj.hasOwnProperty("relatedId") ? ratObj.relatedId : "", | |
relatedName = ratObj.hasOwnProperty("relatedName") ? ratObj.relatedName : null, | |
joName = $("#jo-name").val(); | |
if (void 0 === joName || null === joName || "" === joName.trim()) { | |
var trElem = $(event.target).parents("tr").eq(0); | |
joNameDiv = $(trElem).find(".joNameListView"), null !== relatedName && "" !== relatedName ? joName = relatedName : joNameDiv.length && (joName = $(joNameDiv).val()) | |
} | |
var data = { | |
leadId: ratEntity, | |
ratingVal: ratNum | |
}; | |
relatedId && "" !== relatedId && (data.potenId = relatedId, data.potenName = joName), ZRCommonUtil.getRecentReview(data) | |
} | |
} | |
}) | |
}, | |
getRecentReview: function(data1) { | |
Utils.showHideLoadingDiv(!0); | |
var params = { | |
entityId: data1.leadId | |
}; | |
if (data1.potenId) | |
params.relEntityId = data1.potenId; | |
else { | |
var data = History.getState() ? History.getState().data : void 0; | |
params.relEntityId = data ? data.assoJOId : void 0 | |
} | |
ZRCommonUtil.ajaxGetMethod("/recruit/getRecentReview.do", params, !0, "json", void 0, function(data) { | |
if (Utils.showHideLoadingDiv(!1), data && data.picklistmap && (data1.picklistmap = data.picklistmap), data && data.reviewedTime) { | |
if (data.rating) { | |
var ratNum = data.rating; | |
data.rating = null === ratNum || void 0 === ratNum || isNaN(ratNum) ? 0 : parseFloat(parseFloat(ratNum).toFixed(1)) | |
} | |
if (data.relatedId && data.relatedName && (data1.potenId = data.relatedId, data1.potenName = data.relatedName), data.questionnaireId && data.questionnaireName && (data1.qeId = data.questionnaireId, data1.qeName = data.questionnaireName), data.submissionId && (data1.subId = data.submissionId), data.questionnaireId) | |
ZRQuestionnaire.showEntity({ | |
entityId: data1.leadId, | |
subId: data.submissionId | |
}, data1); | |
else { | |
var reviewHtml = document.createElement("show-cand-review"); | |
if (data && data.modelArr) { | |
var recArr = []; | |
data.modelArr.each(function(modelObj) { | |
modelObj.id === data.submissionId && recArr.push(modelObj) | |
}), delete data.modelArr; | |
var revRe = store.pushPayload("Submissions", recArr); | |
revRe && revRe.length > 0 && (revRe = revRe[0]); | |
var uservalVsSysval = {}; | |
data.picklistmap && data.picklistmap.each(function(listValObj) { | |
uservalVsSysval[listValObj.uservalue] = listValObj.systemvalue | |
}); | |
var metaObj = {}; | |
revRe && revRe.reviewtype && uservalVsSysval[revRe.reviewtype] && (metaObj.reviewactualtype = uservalVsSysval[revRe.reviewtype]), Lyte.objectUtils(revRe.$, "add", "meta", metaObj); | |
var isCurrentUser = revRe.user ? data.currentUser === revRe.user.id : !1; | |
reviewHtml.setData({ | |
record: revRe, | |
passedData: data1, | |
isCurrentUser: isCurrentUser | |
}) | |
} | |
var title = I18n.getMsg("zr.ratings.reviews.msg37", $ESAPI.encoder().encodeForHTML(data.entityName)), | |
fn = function(ev, target, openData) { | |
$("#show-cand-review").remove(), ZRCommonUtil.openSubmitReview(openData) | |
}; | |
ZRCommonUtil.createModal({ | |
needCrossBtn: !0, | |
crossBtnClass: "close-modal zrc-icon-closeb top20 tranSP8", | |
modalid: "show-cand-review", | |
modalclass: "wid700 newPopup", | |
title: title, | |
content: reviewHtml, | |
callback: function() { | |
$("#show-cand-review-btn").remove(); | |
var addBtn = Utils.createHTML({ | |
name: "input", | |
events: [{ | |
name: "click", | |
fn: fn, | |
args: [data1] | |
}], | |
attr: { | |
zrqa: "btn_rev_newReview", | |
"class": "zrc-btn-primaryadd zrc-o posA top12 rig60", | |
value: I18n.getMsg("zr.ratings.reviews.msg34"), | |
type: "button" | |
} | |
}); | |
$("#show-cand-review").find(".popup-model-header").append(addBtn) | |
} | |
}) | |
} | |
} else | |
ZRCommonUtil.openSubmitReview(data1) | |
}, function(xhr) { | |
ZRQuestionnaire.showErrorMessage(xhr), Utils.showHideLoadingDiv(!1) | |
}) | |
}, | |
openNewSubmitReview: function(data) { | |
if (!reviewPermission) | |
return crmui.showMsgBand("error", I18n.getMsg("crm.permission.manage.rating.no.permission"), 3e3), !1; | |
var submitReviewElem = document.createElement("submit-new-review"); | |
data.assessmentsAvail = isAssessAvail, data.isEdit && (data.subId || data.editSubmissionId) ? (data.subId = data.subId || data.editSubmissionId, data.sbmsn = store.peekRecord("Submissions", data.subId)) : (!data.candQuesReview && !data.relatedId && data.potenId && data.potenName && (data.relatedId = data.potenId, data.relEntityName = data.potenName), data.sbmsn = ZRQuestionnaire.createSubmissionRecord({ | |
entityId: data.leadId + "", | |
entityType: "Leads", | |
relEntityId: data.relatedId ? data.relatedId : void 0, | |
relEntityName: data.relEntityName ? data.relEntityName : void 0, | |
qeId: data.questionnaireId ? data.questionnaireId : void 0 | |
})), data.ratingType = data.sbmsn && data.sbmsn.assessmententity && data.sbmsn.assessmententity.id ? "Advanced" : "Basic", submitReviewElem.setData(data); | |
var title = I18n.getMsg(data.isEdit ? "zr.ratings.reviews.msg3" : "zr.ratings.reviews.msg32"); | |
ZRCommonUtil.createModal({ | |
modalid: "submit-new-review", | |
modalclass: "wid700 newPopup", | |
title: title, | |
saveclass: "submitReviewBtn primarybtn", | |
content: submitReviewElem, | |
callback: function() { | |
var tempFn = function(ev, target, argData) { | |
isNaN(argData) && (argData = "https://www.zoho.com/recruit/userguide/assessments.html"), openHelp(argData + "#Assess%20Candidates") | |
}, | |
addBtn1 = Utils.createHTML({ | |
name: "a", | |
events: [{ | |
name: "click", | |
fn: tempFn, | |
args: [Handlebars.helpers.getHelpUrl("help.questionnaire.ratings.reviews")] | |
}], | |
attr: { | |
href: "javascript:void(0);", | |
"class": "toplink f13 floR topM7", | |
id: "context-helplink" | |
}, | |
html: I18n.getMsg("Help") | |
}); | |
$("#submit-new-review").find(".popup-model-header").prepend(addBtn1), ZRCommonUtil.bindStarElemFunctions() | |
}, | |
savefn: function(ev, target) { | |
var revComp = document.querySelector("submit-new-review"), | |
revCompData = revComp.getData(); | |
if ("Advanced" === revCompData.ratingType) { | |
if (!$("#selectedReviewassessment-hidden").val() || !$("#selectedReviewassessment").val()) | |
return void crmui.showMsgBand("error", I18n.getMsg("zr.ratings.reviews.msg24"), 3e3); | |
revCompData.sbmsn.$.isNew && store.unloadRecord("Submissions", revCompData.sbmsn.id), revComp.setData({}), ZRQuestionnaire.getRecIntQuestionnaireDetail(data, !0) | |
} else { | |
var jobId = $("#selectedReviewJob-hidden").val(); | |
jobId && revCompData.sbmsn.$.set("relatedentity", { | |
id: jobId + "" | |
}), data.candQuesReview && (revCompData.sbmsn.$.set("relatedentity", { | |
id: data.potenId + "" | |
}), revCompData.sbmsn.$.set("assessmententity", { | |
id: data.qeId + "" | |
})), ZRQuestionnaire.saveNewReview(ev, target, data) | |
} | |
} | |
}) | |
}, | |
openSubmitReview: function(data) { | |
return ZRCommonUtil.openNewSubmitReview(data) | |
}, | |
saveReview: function(ev, target, data) { | |
if (ZRCommonUtil.validateReviewParams(data)) { | |
var url = "/recruit/submitReview.do"; | |
if (data.candReview === !1) { | |
url = "/recruit/UpdateResumeStatus.do"; | |
var params = { | |
module: "Products", | |
entityId: data.interviewId, | |
comments: $("#qeRatingReviewContent").val() | |
}, | |
existData = document.querySelector("submit-recruiter-assessment").getData(); | |
actualStatusVal = existData.actualStatus, params.actualStatusVal = actualStatusVal; | |
var candStatus = existData.candActualStatus; | |
candStatus && $("#updateCandidateAlso").is(":checked") && (params.leadActualStatus = candStatus, params.candidateAlso = !0, ZRCommonUtil.isEmpty(params.leadActualStatus) || "Unqualified" === params.leadActualStatus && "Un-Qualified" === params.leadActualStatus && "Hired" === params.leadActualStatus || (params.isunlock = !0), params.ischecked = $("#unqualify-checkbox-boolean").is(":checked")) | |
} else { | |
data.candReview = !0; | |
var leadId = data.leadId, | |
params = { | |
leadId: leadId | |
}; | |
if (data.subId && data.isEdit) | |
params = { | |
submissionId: data.subId | |
}; | |
else { | |
var jobPkId = $("#selectedReviewJob-hidden").val(), | |
jobName = $("#selectedReviewJob").val(); | |
jobPkId && "" !== jobPkId.trim() && jobName && jobName.length > 0 && (params.relatedId = jobPkId); | |
var qeId = $("#selectedReviewassessment").val(); | |
qeId && qeId.length > 0 && (qeId = $("#selectedReviewassessment-hidden").val(), params.questionnaireId = qeId) | |
} | |
var recAsmntPresent = $("#overallReviewRating").length, | |
selectStr = $(".starElem"); | |
recAsmntPresent && (selectStr = $("#overallReviewRating").find(".starElem")); | |
var globalRating; | |
params.rating = globalRating = ZRCommonUtil.getRatingVal(selectStr), params.description = recAsmntPresent ? $("#qeRatingReviewContent").val() : $("#ratingReviewContent").val(); | |
var subTypeVal = $("#revSbmsnType").val(), | |
sysVal = $("#revSbmsnType :selected").data("sys-value"), | |
compData = document.querySelector("submit-review"); | |
compData && compData.getData() && compData.getData().candQuesReview && (params.questionnaireId = compData.getData().qeId, params.relatedId = compData.getData().potenId), subTypeVal && "" !== subTypeVal.trim() && "-None-" !== sysVal && (params.subTypeVal = $("#revSbmsnType :selected").data("id-value")) | |
} | |
var qAndAns = []; | |
$("#submit-recruiter-assessment").find(".sc-qst-block").each(function(ind, obj) { | |
var score, | |
questionId = $(obj).data("qid"), | |
answer = $(obj).find(".sc-qst-comments").val(); | |
if ($(".intQeAssessResult").length > 0) { | |
var intQeResult = $(obj).find(".intQeAssessResult"); | |
score = $(intQeResult).find(".suc").length > 0 ? 5 : $(intQeResult).find(".fai").length > 0 ? 1 : 0 | |
} else | |
score = ZRCommonUtil.getRatingVal($(obj).find(".starElem")); | |
qAndAns.push({ | |
questionId: questionId + "", | |
answer: answer, | |
score: score | |
}) | |
}), qAndAns.length && (params.answers = JSON.stringify(qAndAns)); | |
var compData = document.querySelector("submit-review"); | |
compData && compData.getData() && compData.getData().candQuesReview && (params.questionnaireId = compData.getData().qeId, params.relatedId = compData.getData().potenId); | |
var revTypeData; | |
if (compData && compData.getData() && compData.getData().currentReviewTypeObj && (revTypeData = compData.getData().currentReviewTypeObj), revTypeData) { | |
var subTypeVal = revTypeData.value, | |
sysVal = revTypeData.sysValue; | |
subTypeVal && "" !== subTypeVal.trim() && "-None-" !== sysVal && (params.subTypeVal = revTypeData.idValue) | |
} | |
ZRCommonUtil.ajaxPostMethod(url, params, !0, "json", void 0, function(resp) { | |
if (!resp || "success" !== resp.result && "success" !== resp.message) { | |
if (resp && resp.responseText) { | |
var message = ""; | |
resp.responseText.indexOf("entRelEntNotAssociated") > -1 ? message = "zr.ratings.reviews.msg17" : resp.responseText.indexOf("CandidateQuestionnaireNotSubmitted") > -1 && (message = "zr.ratings.reviews.msg18"), crmui.showMsgBand("success", I18n.getMsg(message), 3e3) | |
} | |
} else if ("success" === resp.message) | |
crmui.showMsgBand("success", I18n.getMsg("crm.inter.asmnt.overall.rev.suc"), 3e3), Crm.addToHistory(void 0, void 0, { | |
module: "Products", | |
clickId: "detailView", | |
id: data.interviewId + "", | |
calleeObj: "Crm" | |
}); | |
else if (resp.proceedStatusChange && $("#change-status-select").length) { | |
var statusChangeParams = { | |
module: "Leads", | |
entityId: params.leadId, | |
comments: params.description, | |
isunlock: !1 | |
}; | |
params.relatedId && (statusChangeParams.potenId = params.relatedId), statusChangeParams.status = $("#change-status-select :selected").html(), statusChangeParams.actualStatusVal = $("#change-status-select :selected").val(), statusChangeParams.ischecked = $("#unqualify-checkbox-boolean").prop("checked"), statusChangeParams.fromSubmitReview = !0, ZRCommonUtil.ajaxPostMethod("/recruit/UpdateResumeStatus.do", statusChangeParams, !0, "json", void 0, function(resp) { | |
resp && resp.recentJobId ? crmui.showMsgBand("success", I18n.getMsg("zr.ratings.reviews.msg12"), 5e3) : crmui.showMsgBand("success", I18n.getMsg("zr.ratings.reviews.msg13"), 3e3) | |
}, function() { | |
crmui.showMsgBand("error", I18n.getMsg("zr.ratings.reviews.msg14"), 5e3) | |
}) | |
} else | |
crmui.showMsgBand("success", I18n.getMsg("zr.ratings.reviews.msg13"), 3e3); | |
ZRCommonUtil.closeDialog(ev, target, "#submit-review"), ZRCommonUtil.closeDialog(ev, target, "#submit-recruiter-assessment"), data.candReview ? ($("#ratingsreviewsrl").length && ZRCommonUtil.refreshRelatedList("ratingsreviewspersonality"), $("#CANDIDATE_RATING").length ? RefreshDetailsAction("Leads", !0) : (0 === globalRating && (globalRating = void 0), ZRCommonUtil.updateRatingDiv(globalRating, leadId))) : ZRInterviewUtil.closeKit(), setTimeout(function() { | |
$($(".intview-table")[0]).effect("highlight", {}, 3e3) | |
}, 300) | |
}, function(xhr) { | |
ZRQuestionnaire.showErrorMessage(xhr) | |
}) | |
} | |
}, | |
bindStarElemFunctions: function() { | |
var ratingHoverApply = function(data, rating, questionId) { | |
var comp = document.querySelector("submit-assessment"), | |
compData = comp.getData(); | |
questionId += ""; | |
var subRec = compData && compData.submissionAnswersDet ? compData.submissionAnswersDet[questionId] : void 0; | |
subRec && (0 === rating ? subRec.$.set("score", void 0) : subRec.$.set("score", rating + ""), Lyte.objectUtils(compData.submissionAnswersDet, "add", questionId, subRec)) | |
}; | |
$(".starElem").unbind("mouseover").bind("mouseover", function(ev) { | |
ev.stopPropagation(); | |
var data, | |
ratVal = $(this).data("value"); | |
data = $("submit-assessment").length > 0 ? document.querySelector("submit-assessment").getData() : document.querySelector("submit-new-review").getData(); | |
var questionObj = $(this).closest(".rating-clear-div1"); | |
questionObj.length > 0 ? ratingHoverApply(data, ratVal, $(questionObj).data("qid")) : Lyte.objectUtils(data, "add", "hoveredRating", ratVal) | |
}), $(".rating-clear-div,.rating-clear-div1").unbind("mouseout").bind("mouseout", function(ev) { | |
ev.stopPropagation(); | |
var data; | |
if (data = $("submit-assessment").length > 0 ? document.querySelector("submit-assessment").getData() : document.querySelector("submit-new-review").getData(), $(this).hasClass("rating-clear-div1")) { | |
var questionId = $(this).data("qid"); | |
ratingHoverApply(data, ZRQuestionnaire.GLOBAL_CURR_RATING[questionId], questionId) | |
} else | |
Lyte.objectUtils(data, "add", "hoveredRating", ZRQuestionnaire.GLOBAL_CURR_RATING.totalRating) | |
}), $(".rating-clear-div,.rating-clear-div1").unbind("mouseover").bind("mouseover", function(ev) { | |
ev.stopPropagation(); | |
var pVal = 0; | |
if ($(this).find(".starElem").each(function() { | |
$(this).hasClass("starNormal") || pVal++ | |
}), $(this).hasClass("rating-clear-div1")) { | |
var questionId = $(this).data("qid"); | |
ZRQuestionnaire.GLOBAL_CURR_RATING[questionId] = pVal | |
} else | |
ZRQuestionnaire.GLOBAL_CURR_RATING.totalRating = pVal | |
}), $(".starElem").unbind("click").bind("click", function() { | |
var parent = $(this).closest(".starsParent"), | |
rating = $(this).data("value"), | |
starCol = "", | |
remark = ""; | |
if (!$(this).data("notFromUI") && 0 === $(this).closest(".rating-clear-div").length) { | |
var nextElem = this; | |
$(parent).find(".starElem").each(function(count, obj) { | |
$(obj).data("value") === rating + 1 && (nextElem = obj) | |
}); | |
var existRat, | |
questionObj = $(this).closest(".rating-clear-div1"); | |
if (questionObj && questionObj.length > 0) { | |
var questionId = $(questionObj).data("qid"); | |
existRat = ZRQuestionnaire.GLOBAL_CURR_RATING[questionId] | |
} | |
$(this).hasClass("starNormal") || nextElem !== this && !$(nextElem).hasClass("starNormal") || existRat !== rating || rating-- | |
} | |
switch (rating) { | |
case 1: | |
starCol = "starRed", remark = "zr.ratings.reviews.ratingtype1"; | |
break; | |
case 2: | |
starCol = "starRed", remark = "zr.ratings.reviews.ratingtype2"; | |
break; | |
case 3: | |
starCol = "starYellow", remark = "zr.ratings.reviews.ratingtype3"; | |
break; | |
case 4: | |
starCol = "starGreen", remark = "zr.ratings.reviews.ratingtype4"; | |
break; | |
case 5: | |
starCol = "starGreen", remark = "zr.ratings.reviews.ratingtype5" | |
} | |
if ($(this).closest(".rating-clear-div").length > 0) { | |
var data; | |
data = $("submit-assessment").length > 0 ? document.querySelector("submit-assessment").getData() : document.querySelector("submit-new-review").getData(), Lyte.objectUtils(data, "add", "hoveredRating", rating), data && data.sbmsn && (data.sbmsn.rating ? parseInt(data.sbmsn.rating) != rating && data.sbmsn.$.set("rating", rating + "") : 0 != rating && data.sbmsn.$.set("rating", rating + "")), ZRQuestionnaire.GLOBAL_CURR_RATING.totalRating = rating | |
} else { | |
if (questionId) { | |
var compData = document.querySelector("submit-assessment"); | |
if (compData && compData.getData("submissionAnswersDet")) { | |
var ansRec = compData.getData("submissionAnswersDet")[questionId]; | |
ansRec && (ansRec.score ? parseInt(ansRec.score) != rating && ansRec.$.set("score", rating + "") : 0 != rating && ansRec.$.set("score", rating + "")) | |
} | |
} | |
$(parent).find(".starElem").each(function(count, obj) { | |
$(obj).removeClass(), $(obj).addClass(count > rating - 1 ? "starNormal" : starCol), $(obj).addClass("starElem") | |
}); | |
var questionObj = $(this).closest(".rating-clear-div1"); | |
if (questionObj && questionObj.length > 0) { | |
var questionId = $(questionObj).data("qid"); | |
ZRQuestionnaire.GLOBAL_CURR_RATING[questionId] = rating | |
} | |
} | |
}) | |
}, | |
getRatingVal: function(selectionDiv) { | |
var rating = 0; | |
return $(selectionDiv).each(function(count, obj) { | |
$(obj).hasClass("starNormal") || rating++ | |
}), rating | |
}, | |
showHideRA: function(flag) { | |
flag ? ($("#ratingAndReviewSection").hide(), $(".submitReviewBtn").val(I18n.getMsg("crm.label.proceed")), $(".submitReviewBtn").data("value", "Proceed")) : ($("#ratingAndReviewSection").show(), $(".submitReviewBtn").val(I18n.getMsg("crm.button.save")), $(".submitReviewBtn").data("value", "Save")) | |
}, | |
getColorAndImpression: function(rating) { | |
var starColor, | |
remark; | |
switch (rating) { | |
case 1: | |
starColor = "Red", remark = "zr.ratings.reviews.ratingtype1"; | |
break; | |
case 2: | |
starColor = "Red", remark = "zr.ratings.reviews.ratingtype2"; | |
break; | |
case 3: | |
starColor = "Yellow", remark = "zr.ratings.reviews.ratingtype3"; | |
break; | |
case 4: | |
starColor = "Green", remark = "zr.ratings.reviews.ratingtype4"; | |
break; | |
case 5: | |
starColor = "Green", remark = "zr.ratings.reviews.ratingtype5" | |
} | |
return { | |
starColor: starColor, | |
remark: remark | |
} | |
}, | |
constructAddRecordSelBox: function() { | |
var tabLayerHeight = $("#tabLayer").height(); | |
$("#createNew").selectBox({ | |
callback: function(e, t, curElem) { | |
switch ($("#createNew-svalue").html(""), e) { | |
case "select": | |
var activeElm = $("#createNew-slist").find(".active"), | |
moduleName = activeElm.data().value; | |
$("#submenu_" + moduleName).click(), activeElm.after(activeElm.removeClass("active")), $("#gsearchparentdiv").length > 0 && void 0 != $("#gsearchparentdiv").length && $("#gsearchparentdiv").css("display", "none"), $("#createNew-slist").find(".sel").after($("#createNew-slist").find(".sel").removeClass("sel")), activeElm = null; | |
break; | |
case "open": | |
if ($("#createNew-slist").find(".sel").after($("#createNew-slist").find(".sel").removeClass("sel")), curElem && curElem[0] && curElem[0]._baseElem.hasClass("zrc-select-box svgIconsImg createNewIcon removeSelBoxCont")) { | |
var bannerEle = $("#annoncement"); | |
curElem[0]._dropdown.css(1 == bannerEle.length && "none" != bannerEle.css("display") ? { | |
right: $(window).width() + $(window).scrollLeft() - ($(".qicon #createNew-sbox").offset().left + $(".qicon #createNew-sbox").outerWidth()) - 41, | |
left: "", | |
top: tabLayerHeight + bannerEle.outerHeight() | |
} : { | |
right: $(window).width() + $(window).scrollLeft() - ($(".qicon #createNew-sbox").offset().left + $(".qicon #createNew-sbox").outerWidth()) - 41, | |
left: "", | |
top: tabLayerHeight | |
}), curElem[0]._dropdown.find(".selbox-arrow").css({ | |
right: "43px" | |
}) | |
} | |
break; | |
case "searchCallBack": | |
curElem[0] && curElem.closest(".zrc-dropdown")[0] && curElem.closest(".zrc-dropdown").css({ | |
right: $(window).width() + $(window).scrollLeft() - ($(".qicon #createNew-sbox").offset().left + $(".qicon #createNew-sbox").outerWidth()) - 41, | |
left: "", | |
top: tabLayerHeight | |
}) | |
} | |
}, | |
searchlimit: 7 | |
}); | |
var addrecordsList = $("#createNew-slist"); | |
addrecordsList.find(".active").after(addrecordsList.find(".active").removeClass("active")), addrecordsList.find(".sel").after(addrecordsList.find(".sel").removeClass("sel")), addrecordsList.closest(".zrc-dropdown").prepend("<span class='selbox-arrow'></span>"), addrecordsList = null, $("#createNew-sbox").addClass("svgIconsImg createNewIcon removeSelBoxCont"), $("#createNew-sbox").css({ | |
border: "0px" | |
}) | |
}, | |
constructSelBoxMenu: function() { | |
$("#menu_more-sbox")[0] && ($("#menu_more").selectBox("destory"), $("#menu_more").remove()); | |
for (var anchors = $("#change_menu").children().filter("a"), selElem = Utils.createHTML({ | |
name: "select", | |
attr: { | |
id: "menu_more", | |
"data-zcqa": "menu_more" | |
} | |
}), i = 0; i < crmTab.tabList.length; i++) | |
if (!(anchors.length > i)) { | |
var opt = Utils.createHTML({ | |
name: "option", | |
attr: { | |
value: crmTab.tabList[i], | |
"data-Test": crmTab.tabList[i] | |
}, | |
text: I18n.getMsg(Crm.moduleInfo[crmTab.tabList[i]][1]) | |
}); | |
selElem.append(opt), selElem = $(selElem).find("option").parents().eq(0)[0] | |
} | |
$("#showMenu").append(selElem), selElem = null, anchors = null; | |
var tabLayerHeight = $("#tabLayer").height(), | |
extraCreateOptionName = isClientUser ? void 0 : "<b>+</b> " + I18n.getMsg("crm.label.new.module"); | |
$("#menu_more").selectBox({ | |
extraCreateOptionName: extraCreateOptionName, | |
searchlimit: 7, | |
callback: function(e, t, curElem) { | |
switch ($("#menu_more-svalue").html(""), e) { | |
case "create": | |
$("#menu_more-sbox").addClass("menuMore"), $("#menu_more-sbox").css({ | |
border: "0px" | |
}); | |
break; | |
case "select": | |
var moduleName = $("#showMenu .zrc-select-box").data().selected[0].value; | |
$("[id='tab_" + moduleName + "']").click(), $("#menu_more-slist").find(".active").after($("#menu_more-slist").find(".active").removeClass("active")); | |
break; | |
case "open": | |
$("#menu_more-slist").find(".sel").after($("#menu_more-slist").find(".sel").removeClass("sel")), curElem && curElem[0] && curElem[0]._baseElem.hasClass("zrc-select-box menuMore removeSelBoxCont") && (curElem[0]._dropdown.find(".selbox-arrow").css({ | |
left: "16px" | |
}), curElem[0]._dropdown.css({ | |
left: $("#menu_more-sbox").offset().left - 15, | |
top: tabLayerHeight | |
})); | |
break; | |
case "extraCreateOpt": | |
Crm.addToHistoryCbn(void 0, void 0, { | |
showC: !0, | |
calleeObj: "crmSetup", | |
clickId: "customize_modules", | |
tab: "customize", | |
subTab: "modules" | |
}, void 0); | |
break; | |
case "searchCallBack": | |
curElem[0] && curElem.closest(".zrc-dropdown")[0] && curElem.closest(".zrc-dropdown").css({ | |
left: $("#menu_more-sbox").offset().left - 15, | |
top: tabLayerHeight | |
}) | |
} | |
} | |
}); | |
var menuList = $("#menu_more-slist"); | |
menuList.find(".active").after(menuList.find(".active").removeClass("active")), menuList.find(".sel").after(menuList.find(".sel").removeClass("sel")), menuList.closest(".zrc-dropdown").prepend("<span class='selbox-arrow'></span>"), menuList = null, $("#menu_more-sbox").addClass("removeSelBoxCont") | |
}, | |
deleteFileFromZfs: function(fileName) { | |
var data = {}; | |
data[csrfParamName] = encodeURIComponent(csrfToken), data.mode = "deleteFileFromZFS", data.fileName = fileName, $.ajax({ | |
type: "POST", | |
url: "/recruit/getParserReviewDetails.do", | |
data: data | |
}) | |
}, | |
toggleParseReview: function() { | |
$(".zrc-switch-btn").toggleClass("on"), $(".zrc-switch-btn").find(".zrc-switch-round").toggleClass("on"); | |
var isParserReviewEnabled = $(".zrc-switch-btn").hasClass("on") ? "true" : "false", | |
keyData = {}; | |
keyData[csrfParamName] = encodeURIComponent(csrfToken), keyData.isParserReviewEnabled = isParserReviewEnabled, keyData.mode = "addKeyForPR", $.ajax({ | |
type: "POST", | |
url: "/recruit/getParserReviewDetails.do", | |
data: keyData, | |
success: function() { | |
"true" == isParserReviewEnabled ? crmui.showMsgBand("success", I18n.getMsg("zr.rp.enable.msg"), 5e3) : crmui.showMsgBand("success", I18n.getMsg("zr.rp.disable.msg"), 5e3) | |
} | |
}) | |
}, | |
showInfoParserReview: function() { | |
$(".zrc-multi-left").show() | |
}, | |
hideInfoParserReview: function() { | |
$(".zrc-multi-left").hide() | |
}, | |
executeZohoOneLauncher: function(csrfName, csrfValue) { | |
window.onZDLibraryReady = function() { | |
0 == $(".zod-launcher-icon").length && ZDLibrary.Launcher.init({ | |
icon: { | |
element: document.getElementById("zone-launcher"), | |
is_product_icon_available: !1, | |
is_hamburger_available: !1 | |
}, | |
menuBar: document.getElementById("tabLayer"), | |
csrfName: "" + csrfName, | |
getCsrfValue: function() { | |
return "" + csrfValue | |
} | |
}) | |
}, $("body").on("click", "#zone-launcher", function() { | |
$("body").addClass("oH") | |
}) | |
}, | |
isClientModal: function(url) { | |
return /InviteContacts/.test(url) || "/recruit/portal.do" === url || "/recruit/clientportal.do" === url || "/recruit/candidatelogin.do" === url ? !0 : !1 | |
}, | |
loadPortalTab: function(requestData, tab, divId, subTab) { | |
if (void 0 !== requestData && -1 === requestData.url.indexOf("InviteContacts.do")) | |
"/recruit/portal.do" === requestData.url ? (requestData.params.hasOwnProperty("fromClientLoginTab") && "yes" === requestData.params.fromClientLoginTab && $("#crm-msg").remove(), store.findAll("portal").then(function(data) { | |
var org = store.peekAll("organisation")[0]; | |
$("#result").empty(); | |
var elem = Lyte.Component.render("portal-list", { | |
portals: ZRCommonUtil.isEmpty(data) ? { | |
name: null | |
} : data, | |
org: org | |
}, "#result"); | |
elem.id = "portal-list", $("#settingInner").hide(), $("#setupshow").show(), Utils.showHideLoadingDiv(), crmSetup.selectSetupTab(tab, divId, subTab), crmSetup.SetHeight_setup_inner_content(), org && Utils.isEmptyString(org.portal_name) && $("#clEditCompany").click() | |
}, function(errorObj) { | |
Utils.showHideLoadingDiv(), $("#settingInner").hide(), $("#setupshow").show(), ZRCommonUtil.lyteErrorMessage(errorObj.responseText) | |
})) : "/recruit/clientportal.do" === requestData.url ? store.findAll("clientlogin").then(function(data) { | |
$("#result").empty(); | |
var json = data[0]; | |
Lyte.Component.render("client-login-list", { | |
clientlogin: json | |
}, "#result"), $("#settingInner").hide(), $("#setupshow").show(), Utils.showHideLoadingDiv(), crmSetup.selectSetupTab(tab, divId, subTab), crmSetup.SetHeight_setup_inner_content() | |
}, function(errorObj) { | |
Utils.showHideLoadingDiv(), $("#settingInner").hide(), $("#setupshow").show(), ZRCommonUtil.lyteErrorMessage(errorObj.responseText), Crm.addToHistoryCbn(void 0, void 0, { | |
module: "Setup", | |
clickId: "tab", | |
calleeObj: "crmTab" | |
}, void 0) | |
}) : "/recruit/candidatelogin.do" === requestData.url && store.findAll("candidatedetail").then(function() { | |
$("#result").empty(); | |
var json = store.peekAll("candidatedetail")[0], | |
elem = Lyte.Component.render("candidate-login-list", { | |
candidatelogin: json | |
}, "#result"); | |
elem.id = "candidate-login-list", $("#settingInner").hide(), $("#setupshow").show(), Utils.showHideLoadingDiv(), crmSetup.selectSetupTab(tab, divId, subTab), crmSetup.SetHeight_setup_inner_content() | |
}, function(errorObj) { | |
Utils.showHideLoadingDiv(), $("#settingInner").hide(), $("#setupshow").show(), ZRCommonUtil.lyteErrorMessage(errorObj.responseText) | |
}); | |
else { | |
$("html").css({ | |
overflow: "hidden" | |
}); | |
var params = requestData.id ? { | |
type: "1", | |
clientid: requestData.id | |
} : { | |
type: "1" | |
}; | |
store.findAll("contacts", params, void 0, !1).then(function(data) { | |
$("#show").empty(); | |
var params = { | |
meta: data && data.meta ? data.meta : { | |
type: "1" | |
}, | |
contacts: data && data.contacts ? data.contacts : [] | |
}; | |
requestData && requestData.entityName && (params.clientName = requestData.entityName), requestData && requestData.id && (params.clientId = requestData.id), data && data.blankPageDetails && (params.showBlankState = data.blankPageDetails.showBlankState, params.clientHasContact = data.blankPageDetails.clientHasContact); | |
var elem = Lyte.Component.render("contact-invite-list", params, "#show"); | |
elem.id = "contact-invite-component", data && data.meta && $("#contact-invite-div").data("scrolldata", '{"loadmore": false, "type":"1", "islist":true, "toindex": "' + data.meta.toIndex + '", "fromindex":"' + data.meta.fromIndex + '", "shownext":"' + data.meta.showNext + '", "callee": "ZRClientUtil.scrollInviteContacts"}'), Utils.showHideLoadingDiv(), requestData && requestData.action && "plusBtn" === requestData.action && $("#contact-action-invite").click() | |
}, function(errorObj) { | |
Utils.showHideLoadingDiv(), ZRCommonUtil.lyteErrorMessage(errorObj.responseText) | |
}) | |
} | |
}, | |
lyteErrorMessage: function(errorObj) { | |
var errorMessage = I18n.getMsg("crm.unable.to.process.request"); | |
if (errorObj = ZRCommonUtil.convertStringToJson(errorObj), errorObj = void 0 != errorObj && void 0 != errorObj.errorObj ? errorObj.errorObj : errorObj) | |
if (errorObj.errorCode) { | |
var errorCode = errorObj.errorCode ? errorObj.errorCode : "INTERNAL_ERROR", | |
maxLen = errorObj.maxLen ? errorObj.maxLen : 100, | |
featureName = errorObj.feature ? errorObj.feature : void 0; | |
if ("INTERNAL_ERROR" === errorCode) | |
errorMessage = I18n.getMsg("crm.unable.to.process.request"); | |
else if ("XSS_DETECTED" === errorCode || "UNABLE_TO_PARSE_DATA_TYPE" === errorCode || "EXTRA_PARAM_FOUND" === errorCode || "MORE_THAN_MAX_OCCURANCE" === errorCode || "LESS_THAN_MIN_OCCURANCE" === errorCode) | |
errorMessage = I18n.getMsg("crm.iam.error.xssdetected"); | |
else if ("MORE_THAN_MAX_LENGTH" === errorCode) | |
errorMessage = I18n.getMsg("crm.iam.error.morethanmaxlength", [maxLen]); | |
else if ("URL_RULE_NOT_CONFIGURED" === errorCode) | |
errorMessage = I18n.getMsg("crm.label.error.message1"); | |
else if ("FILE_SIZE_MORE_THAN_ALLOWED_SIZE" === errorCode) | |
errorMessage = I18n.getMsg("zats.error.filesizeismore"); | |
else if ("PATTERN_NOT_MATCHED" === errorCode) | |
errorMessage = I18n.getMsg("crm.alert.label.special.characters"); | |
else if ("POST_ONLY_URL" === errorCode) | |
errorMessage = I18n.getMsg("crm.unable.to.process.request"); | |
else if ("LESS_THAN_MIN_LENGTH" === errorCode) | |
errorMessage = I18n.getMsg("crm.iam.error.lessthanminlength"); | |
else if ("UNMATCHED_FILE_CONTENT_TYPE" === errorCode) | |
errorMessage = I18n.getMsg("crm.label.invalid.attach.alert"); | |
else if ("REMOTE_IP_LOCKED" === errorCode || "URL_ROLLING_THROTTLES_LIMIT_EXCEEDED" === errorCode) | |
errorMessage = I18n.getMsg("zr.qv.threshold.reached"); | |
else if ("NOT_ALLOWED" === errorCode) | |
errorMessage = featureName ? I18n.getMsg("crm.module.not.supported", [featureName]) : I18n.getMsg("crm.FLEE.default.message"); | |
else if ("NO_PERMISSION" === errorCode) | |
errorMessage = errorCode; | |
else { | |
if ("URL_IN_QUEUE" === errorCode) | |
return void window.console.log("Request already in pending ", errorObj.pendingURL); | |
if ("candidateAccountDisabled" === errorCode) | |
return void location.reload() | |
} | |
} else if (errorObj.code) { | |
var errorCode = errorObj.code ? errorObj.code : "INTERNAL_ERROR", | |
message = I18n.getMsg(errorObj.message ? errorObj.message : "crm.unable.to.process.request"); | |
errorMessage = "NO_PERMISSION" === errorCode ? "NO_PERMISSION" : "NOT_ALLOWED" === errorCode || "FEATURE_NOT_AVAILABLE" === errorCode ? featureName ? I18n.getMsg("crm.module.not.supported", [featureName]) : I18n.getMsg("crm.FLEE.default.message") : "UNABLE_TO_PARSE_DATA_TYPE" === errorCode ? I18n.getMsg("crm.iam.error.xssdetected") : "DUPLICATE_PORTAL_NAME" === errorCode ? I18n.getMsg("crm.setup.portal.duplicateportal") : "INVALID_PORTAL_NAME" === errorCode ? I18n.getMsg("zr.portal.invalid.portal.name") : "TABULAR_DATA_COUNT_EXCEED" === errorCode ? I18n.getMsg("crm.module.addtabular.maxerror", [$(".cnl-detail-header h1").text(), "10"]) : "MANDATORY_FIELDS_DATA_MISSING" === errorCode ? I18n.getMsg("crm.field.nomandatory.error") : "FIELD_COUNT_EXCEPTION" === errorCode ? I18n.getMsg("zr.candidateportal.enable.fields.limit", message) : message | |
} | |
"NO_PERMISSION" === errorMessage ? Utils.displayPermissionDenied() : crmui.showMsgBand("error", errorMessage, crmConstants.failureMsgLongDelay) | |
}, | |
getHeaderDetail: function(record, module) { | |
var data = []; | |
return $.each(record, function(i, section) { | |
var sysname = section.sysname, | |
isTabular = section.istabular; | |
"Leads" === module && isTabular && ("Educational Details" === sysname || "Experience Details" === sysname) && (data[sysname] = section.fields ? section.fields.entityData : section.fields), $.each(section.fields, function(j, field) { | |
var column = field.column, | |
value = field.value; | |
"Leads" === module || "Contacts" === module ? ("LASTNAME" === column && (data.lastname = value), "FIRSTNAME" === column && (data.firstname = value), "STATUS" === column && (data.status = value), "ACCOUNTID" === column && (data.accountname = value), "DESIGNATION" === column && (data.jobtitle = value), "COMPANY" === column && (data.employer = value)) : "Potentials" === module ? ("POTENTIALNAME" === column && (data.name = value), "DESCRIPTION" === column && (data.description = value), "STATUS" === column && (data.status = value), "ACCOUNTID" === column && (data.accountname = value)) : "Products" === module ? ("PRODUCTNAME" === column && (data.name = value), "POTENTIALID" === column && (data.potentialName = value), "STATUS" === column && (data.status = value), "CONTACTID" === column && (data.interviewer = value), "SALES_START_DATE" === column && (data.date = value)) : "Accounts" === module && ("ACCOUNTNAME" === column && (data.name = value), "WEBSITE" === column && (data.website = value)) | |
}) | |
}), data | |
}, | |
getClientDetailView: function(entityId, module, assJoId) { | |
var reponseData = {}; | |
Utils.showHideLoadingDiv(!0), ZRCommonUtil.loadingCompleted = !1; | |
var assJoId = assJoId ? "&assJoId=" + assJoId : ""; | |
return ZRCommonUtil.ajaxGetMethod("/recruit/getClientDetailView.do", "id=" + entityId + "&module=" + module + assJoId, !1, "json", void 0, function(data) { | |
ZRCommonUtil.loadingCompleted = !0, ZRCommonUtil.fromClientNavigation = !1, Utils.showHideLoadingDiv(), reponseData = data | |
}, function(errorObj) { | |
ZRCommonUtil.lyteErrorMessage(errorObj.responseText) | |
}), reponseData | |
}, | |
getStatusFromInterviewRecord: function(data, headerObj) { | |
data.isInterviewRecord = !0, $.each(data.record, function(i, record) { | |
if (record.sysname) { | |
var fields = record.fields; | |
fields && fields.length && $.each(fields, function(j, field) { | |
return field && "STATUS" === field.column ? void (headerObj.actStatus = field.value) : void 0 | |
}) | |
} | |
}) | |
}, | |
getDetailView: function(entityId, module, showNav, assJoId) { | |
var data = ZRCommonUtil.getClientDetailView(entityId, module, assJoId), | |
showNav = void 0 === showNav ? !0 : showNav; | |
if (ZRCommonUtil.showClientNavCtrls = showNav, !ZRCommonUtil.isEmpty(data)) { | |
var record = data.record, | |
photoId = data.PHOTOFILEID; | |
if (!ZRCommonUtil.isEmpty(record)) { | |
var headerObj = ZRCommonUtil.getHeaderDetail(record, module); | |
"Potentials" === module ? headerObj.submissioncount = data.count : "Leads" === module && data && data.submission ? (data.submission.hasOwnProperty("rating") && (data.submission.ratingArray = ZRCommonUtil.generateRating(data.submission.rating)), !Utils.isEmpty(data.submission) && data.submission.status ? headerObj.actStatus = data.submission.status : ZRCommonUtil.getStatusFromInterviewRecord(data, headerObj)) : "Products" === module && data && data.decision && data.decision.actualStatus && (headerObj.actualStatus = data.decision.actualStatus); | |
var headerTitle = ZRCommonUtil.getHeaderHtml(headerObj, photoId, entityId, module), | |
elemFrag = document.createDocumentFragment(); | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
id: "client-login-detail-title" | |
}, | |
html: headerTitle | |
})); | |
var elem = document.createElement("client-login-detail-view"); | |
elem.setAttribute("id", "client-login-detail-component"), elem.setData({ | |
detail: data, | |
header: headerObj, | |
module: module, | |
entityid: entityId, | |
attachment: [], | |
note: [] | |
}); | |
var overFn = function(ev, target, content) { | |
Utils.showtt(content) | |
}, | |
outFn = function() { | |
zctt.hidett() | |
}; | |
ZRCommonUtil.createModal({ | |
modalid: "client-quick-view", | |
modalclass: " zcrm-content wid1200", | |
needCrossBtn: !0, | |
title: elemFrag, | |
contentClass: "pad0 oveH", | |
content: elem, | |
callback: function() { | |
if ($("#client-quick-view-btn").remove(), showNav && crmTab.selectedTab && crmTab.selectedTab === module) { | |
var navElem = Utils.createHTML({ | |
name: "span", | |
data: { | |
id: entityId, | |
module: module | |
}, | |
attr: { | |
"class": "posA rig60 top20", | |
id: "client-login-detail-nav" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
id: "client-login-detail-prev", | |
"class": "previous disIB marR20" | |
}, | |
events: [{ | |
name: "click", | |
fn: ZRCommonUtil.clientLoginNavigation, | |
args: ["prev"] | |
}, { | |
name: "mouseover", | |
fn: overFn, | |
args: [I18n.getMsg("zr.qv.navigate.previous")] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
id: "client-login-detail-next", | |
"class": "next disIB" | |
}, | |
events: [{ | |
name: "click", | |
fn: ZRCommonUtil.clientLoginNavigation, | |
args: ["next"] | |
}, { | |
name: "mouseover", | |
fn: overFn, | |
args: [I18n.getMsg("zr.qv.navigate.next")] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
}] | |
}); | |
$("#client-quick-view .popup-model-header").append(navElem).addClass("padT15 padB8"), ZRCommonUtil.setNavigationState(entityId) | |
} | |
}, | |
removeElem: !0 | |
}) | |
} | |
} | |
}, | |
getNameLetter: function(name) { | |
var imageName = void 0; | |
if (name && null !== name && "null" !== name && name.length > 0) { | |
var namesplit = name.split(" "); | |
namesplit.length > 0 && $.each(namesplit, function(i, item) { | |
var letter = item.substring(0, 1); | |
imageName = void 0 !== imageName ? imageName + letter : letter | |
}) | |
} | |
return void 0 === imageName ? "" : imageName | |
}, | |
getHeaderHtml: function(headerObj, photoId, entityId, module) { | |
var elemFrag = document.createDocumentFragment(); | |
if ("Leads" === module) { | |
var fullName = headerObj.firstname && headerObj.lastname ? headerObj.firstname + " " + headerObj.lastname : headerObj.lastname ? headerObj.lastname : headerObj.firstname ? headerObj.firstname : "", | |
overFn = function(ev, target, content) { | |
Utils.showtt(content) | |
}, | |
outFn = function() { | |
zctt.hidett() | |
}; | |
if (photoId && null != photoId && "null" !== photoId && photoId.length > 0) | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "floL marR15" | |
}, | |
child: [{ | |
name: "img", | |
attr: { | |
src: "/recruit/EntityImageAttach.do?action_module=" + module + "&actionName=readImage&clientUser=yes&entityId=" + entityId + "&fileId=" + photoId, | |
"class": "dvPhotoShadow" | |
} | |
}] | |
})); | |
else { | |
var imageName = fullName && fullName.length > 0 ? fullName.substring(0, 1) : ""; | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "emptyImgContainer emptyLCPhoto floL marR15", | |
style: "background-position: -154px 0px; font-size: 24px;" | |
}, | |
text: imageName | |
})) | |
} | |
if (elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f18" | |
}, | |
text: fullName | |
})), headerObj.actStatus) { | |
var actStatus = headerObj.hasOwnProperty("actStatus") && I18n.getMsg("Rejected by client") === headerObj.actStatus ? "Rejected" : "Approved", | |
colorClass = "Rejected" === actStatus ? "colR" : "colGR"; | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
id: "clCandHeaderStatus", | |
"class": "proRE f15 " + colorClass | |
}, | |
text: " - " + headerObj.actStatus | |
})) | |
} | |
if (headerObj.jobtitle) | |
if (headerObj.employer) { | |
var titleObj = ZRCommonUtil.getDotVal(headerObj.jobtitle, 25); | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f15 colG1 disB" | |
}, | |
text: titleObj.dotVal, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [headerObj.jobtitle] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}], | |
child: [{ | |
name: "span", | |
attr: { | |
"class": "disIB wid25 texAC proRE" | |
}, | |
text: "|" | |
}, { | |
name: "span", | |
text: headerObj.employer | |
}] | |
})) | |
} else { | |
var titleObj = ZRCommonUtil.getDotVal(headerObj.jobtitle, 25); | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f15 colG1 disB" | |
}, | |
text: titleObj.dotVal, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [headerObj.jobtitle] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
})) | |
} | |
else | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f15 colG1 disB" | |
}, | |
html: " " | |
})) | |
} else if ("Potentials" === module) { | |
var overFn = function(ev, target, content) { | |
Utils.showtt(content) | |
}, | |
outFn = function() { | |
zctt.hidett() | |
}, | |
showSubmittedCandidates = function(ev, target, module, joId) { | |
if (module && joId) { | |
var params = {}; | |
params.module = crmModuleConstants.Leads, params.calleeObj = "crmTab", params.clickId = "tab", params.isSearch = !1, params.filters = JSON.stringify([{ | |
searchfieldtype: "ASSJO", | |
searchfield: "CrmClientSubmission:POTENTIALID", | |
searchModule: "Submit to client", | |
condition: "0", | |
value: joId + ":" + headerObj.name | |
}]), $("#client-quick-view").remove(), crmTab.deleteFromCache(crmModuleConstants.Leads), Crm.addToHistory(void 0, void 0, params) | |
} | |
}, | |
nameObj = ZRCommonUtil.getDotVal(headerObj.name, 25); | |
if (elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "headervalue_Potentials_ico mR10 fL marT6 " | |
}, | |
html: " " | |
})), elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f18" | |
}, | |
text: nameObj.dotVal, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [headerObj.name] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
})), headerObj.status) { | |
var statuObj = ZRCommonUtil.getDotVal(headerObj.status, 15); | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "colGR proRE f15" | |
}, | |
text: " - " + statuObj.dotVal, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [headerObj.status] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
})) | |
} | |
var accountObj = ZRCommonUtil.getDotVal(headerObj.accountname, 25), | |
associatedLeadCntFn = 0 == headerObj.submissioncount ? {} : { | |
name: "click", | |
fn: showSubmittedCandidates, | |
args: [module, entityId] | |
}; | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f15 colG1 disB" | |
}, | |
text: accountObj.dotVal, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [headerObj.accountname] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}], | |
child: [{ | |
name: "span", | |
attr: { | |
"class": "disIB wid25 texAC proRE" | |
}, | |
text: "|" | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
"class": "cl-det-button" + (0 == headerObj.submissioncount ? " cD" : "") | |
}, | |
text: I18n.getMsg("zr.cl.submittedcandidates", I18n.getMsg(Crm.moduleInfo.Leads[0])) + " ( " + headerObj.submissioncount + " ) ", | |
events: [associatedLeadCntFn] | |
}] | |
})) | |
} else if ("Products" === module) { | |
var icsFun = function(event, target, module, entityId) { | |
ZRCommonUtil.downloadIcs(event, module, entityId) | |
}, | |
overFn = function(ev, target, content) { | |
Utils.showtt(content) | |
}, | |
outFn = function() { | |
zctt.hidett() | |
}, | |
name = headerObj.name ? headerObj.name : ""; | |
if (name = headerObj.date ? name + " on " + headerObj.date : name, elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "headervalue_Products_ico mR10 floL" | |
}, | |
html: " " | |
})), elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f18" | |
}, | |
text: name | |
})), headerObj.status) { | |
var actSt = headerObj.actualStatus, | |
colorClass = actSt === crmConstants.STATUS_REJECTED || actSt === crmConstants.STATUS_STRONGREJECT ? "colR" : "colGR"; | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
id: "clIntHeaderStatus", | |
"class": " proRE f15 marL10 " + colorClass | |
}, | |
text: headerObj.status | |
})) | |
} | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f15 colG1 disB" | |
}, | |
text: headerObj.interviewer + " (" + I18n.getMsg("crm.label.interviewers") + ")", | |
child: [{ | |
name: "span", | |
attr: { | |
"class": "disIB wid25 texAC proRE" | |
}, | |
text: "|" | |
}, { | |
name: "span", | |
attr: { | |
"class": "disIB marR15 texAC proRE" | |
}, | |
text: headerObj.potentialName | |
}, { | |
name: "a", | |
attr: { | |
href: "javascript:;", | |
"class": "cl-det-button" | |
}, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [I18n.getMsg("zr.cl.ics.file")] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}, { | |
name: "click", | |
fn: icsFun, | |
args: [module, entityId] | |
}], | |
text: I18n.getMsg("Calendar Invite") | |
}] | |
})) | |
} else if ("Contacts" === module) { | |
var overFn = function(ev, target, content) { | |
Utils.showtt(content) | |
}, | |
outFn = function() { | |
zctt.hidett() | |
}, | |
fullName = headerObj.firstname && headerObj.lastname ? headerObj.firstname + " " + headerObj.lastname : headerObj.lastname ? headerObj.lastname : headerObj.firstname ? headerObj.firstname : "", | |
nameObj = ZRCommonUtil.getDotVal(fullName, 25); | |
if (photoId && null != photoId && "null" !== photoId && photoId.length > 0) | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "floL marR15" | |
}, | |
child: [{ | |
name: "img", | |
attr: { | |
src: "/recruit/EntityImageAttach.do?action_module=" + module + "&actionName=readImage&clientUser=yes&entityId=" + entityId + "&fileId=" + photoId, | |
"class": "dvPhotoShadow" | |
} | |
}] | |
})); | |
else { | |
var imageName = fullName && fullName.length > 0 ? fullName.substring(0, 1) : ""; | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "emptyImgContainer emptyLCPhoto floL marR15", | |
style: "background-position: -154px -55px; font-size: 24px;" | |
}, | |
text: imageName | |
})) | |
} | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f18" | |
}, | |
text: nameObj.dotVal, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [fullName] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
})); | |
var accountObj = ZRCommonUtil.getDotVal(headerObj.accountname, 25); | |
elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f15 colG1 disB" | |
}, | |
text: accountObj.dotVal, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [headerObj.accountname] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
})) | |
} else if ("Accounts" === module) { | |
var overFn = function(ev, target, content) { | |
Utils.showtt(content) | |
}, | |
outFn = function() { | |
zctt.hidett() | |
}, | |
nameObj = ZRCommonUtil.getDotVal(headerObj.name, 25); | |
elemFrag.appendChild(photoId && null != photoId && "null" !== photoId && photoId.length > 0 ? Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "emptyAccLogo floL marR15" | |
}, | |
child: [{ | |
name: "img", | |
attr: { | |
src: "/recruit/EntityImageAttach.do?action_module=" + module + "&actionName=readImage&clientUser=yes&entityId=" + entityId + "&fileId=" + photoId, | |
"class": "dvPhotoShadow" | |
} | |
}] | |
}) : Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "emptyAccLogo floL marR15" | |
}, | |
child: [{ | |
name: "img", | |
attr: { | |
src: "/images/companylogonew.svg" | |
} | |
}] | |
})), elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f18" | |
}, | |
text: nameObj.dotVal, | |
events: [{ | |
name: "mouseover", | |
fn: overFn, | |
args: [headerObj.name] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
})), headerObj.website && elemFrag.appendChild(Utils.createHTML({ | |
name: "span", | |
attr: { | |
"class": "f15 colG1 disB" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "link weblinkAcc", | |
href: headerObj.website, | |
target: "_blank", | |
rel: "noreferrer noopener" | |
}, | |
text: headerObj.website | |
}] | |
})) | |
} | |
return elemFrag | |
}, | |
downloadIcs: function(event, module, entityId) { | |
var tgt = $(event.target), | |
curr = document.getElementById("client-login-detail-component"), | |
prevData = curr.getData("attachment"); | |
if (void 0 == prevData || 0 === prevData.length) | |
Utils.showHideLoadingDiv(!0), ZRCommonUtil.ajaxGetMethod("/recruit/getClientRelatedRecords.do", "id=" + entityId + "&module=" + module + "&type=Attachments&showICS=yes", !1, "json", void 0, function(data) { | |
if (Utils.showHideLoadingDiv(), data && !$.isEmptyObject(data.ATTACHMENTDETAILS)) { | |
Lyte.arrayUtils(prevData, "push", data.ATTACHMENTDETAILS); | |
var icsData = {}; | |
$.each(data.ATTACHMENTDETAILS, function(i, item) { | |
"ICS" === item.ATTACHMENTTYPENAME && (icsData = item) | |
}), icsData && !$.isEmptyObject(icsData) ? (tgt.data("attachdetail", { | |
attachmentId: icsData.ATTACHMENTID, | |
pkid: icsData.ATTACHMENTPKID, | |
fileId: icsData.ATTACHMENTFILEID, | |
linkDocs: !1, | |
module: icsData.ATTACHMENTMODULE, | |
fileName: icsData.ATTACHMENTNAME, | |
isDownloadAttachPerm: icsData.ISDOWNLOADALLOWED | |
}), ZRFileUtil.downloadAttachment(event, tgt[0])) : Utils.showCustomAlert(I18n.getMsg("zr.cl.attachments.ics.notavailable")) | |
} else | |
Utils.showCustomAlert(I18n.getMsg("zr.cl.attachments.ics.notavailable")) | |
}, function() { | |
Utils.showCustomAlert(I18n.getMsg("zr.cl.attachments.ics.notavailable")) | |
}); | |
else { | |
var icsData = {}; | |
$.each(prevData, function(i, item) { | |
"ICS" === item.ATTACHMENTTYPENAME && (icsData = item) | |
}), icsData && !$.isEmptyObject(icsData) ? (tgt.data("attachdetail", { | |
attachmentId: icsData.ATTACHMENTID, | |
pkid: icsData.ATTACHMENTPKID, | |
fileId: icsData.ATTACHMENTFILEID, | |
linkDocs: !1, | |
module: icsData.ATTACHMENTMODULE, | |
fileName: icsData.ATTACHMENTNAME, | |
isDownloadAttachPerm: icsData.ISDOWNLOADALLOWED | |
}), ZRFileUtil.downloadAttachment(event, target)) : Utils.showCustomAlert(I18n.getMsg("zr.cl.attachments.ics.notavailable")) | |
} | |
}, | |
setNavigationState: function(entityId) { | |
var nextNav = $("#client-login-detail-next"), | |
prevNav = $("#client-login-detail-prev"), | |
nextArrow = $("#advancedsearchArrowN"), | |
prevArrow = $("#advancedsearchArrowP"); | |
ZRCommonUtil.isFirstElementInList(entityId) ? prevArrow.length > 0 ? prevNav.removeClass("previousDisabled").addClass("previous") : prevNav.removeClass("previous").addClass("previousDisabled") : prevNav.removeClass("previousDisabled").addClass("previous"), ZRCommonUtil.isLastElementInList(entityId) ? nextArrow.length > 0 ? nextNav.removeClass("nextDisabled").addClass("next") : nextNav.removeClass("next").addClass("nextDisabled") : nextNav.removeClass("nextDisabled").addClass("next") | |
}, | |
openCliDV: function(recordToOpen) { | |
var listViewElement = $("#listviewtablescroll tr:not(#listviewHeaderRow)"); | |
listViewElement && ("first" === recordToOpen ? ZRCommonUtil.renderClientDetailPage($(listViewElement[0]).attr("id"), crmTab.selectedTab) : ZRCommonUtil.renderClientDetailPage($(listViewElement[listViewElement.length - 1]).attr("id"), crmTab.selectedTab)) | |
}, | |
isLastElementInList: function(entityId) { | |
var listViewElement = $("#listviewtablescroll tr:not(#listviewHeaderRow)"); | |
return listViewElement && listViewElement.index($("#" + entityId)) === listViewElement.length - 1 ? !0 : !1 | |
}, | |
isFirstElementInList: function(entityId) { | |
var listViewElement = $("#listviewtablescroll tr:not(#listviewHeaderRow)"); | |
return listViewElement && 0 === listViewElement.index($("#" + entityId)) ? !0 : !1 | |
}, | |
clientLoginNavigation: function(ev, target, type) { | |
var parentElem = $(target).is("a") ? $(target).parent() : $(target).parent().parent(), | |
data = parentElem.data(), | |
entityId = data.id, | |
module = data.module, | |
listTr = $("#listviewtablescroll tr:not(#listviewHeaderRow)"), | |
recordArr = []; | |
$.each(listTr, function(i, item) { | |
var params = $(item).data("params"), | |
assoJOId = params && params.hasOwnProperty("assoJOId") ? params.assoJOId : void 0, | |
obj = { | |
id: params.id, | |
assoJOId: assoJOId | |
}; | |
entityId === params.id && (currentRecInd = i), recordArr.push(obj) | |
}); | |
var nextArrow = $("#advancedsearchArrowN"), | |
prevArrow = $("#advancedsearchArrowP"), | |
recordObj = "next" === type ? recordArr[currentRecInd + 1] : recordArr[currentRecInd - 1], | |
id = recordObj && recordObj.hasOwnProperty("id") ? recordObj.id : void 0, | |
assoJOId = recordObj && recordObj.hasOwnProperty("assoJOId") ? recordObj.assoJOId : void 0; | |
if (type && "next" === type && ZRCommonUtil.isLastElementInList(entityId) && 1 === nextArrow.length) { | |
var data = nextArrow.attr("data-params"); | |
data || (data = {}), "string" == typeof data && (data = JSON.parse(data)), data.calleeObj = "crmTab", data.clickId = "navigate_next_listview", data.cliDVPrevOrNext = "next", data.assoJOId = assoJOId, nextArrow.attr("data-params", JSON.stringify(data)), ZRCommonUtil.fromClientNavigation = !0, Crm.addToHistory(null, nextArrow) | |
} else if (type && "prev" === type && ZRCommonUtil.isFirstElementInList(entityId) && 1 === prevArrow.length) { | |
var data = prevArrow.attr("data-params"); | |
data || (data = {}), "string" == typeof data && (data = JSON.parse(data)), data.calleeObj = "crmTab", data.clickId = "navigate_previous_listview", data.cliDVPrevOrNext = "prev", data.assoJOId = assoJOId, prevArrow.attr("data-params", JSON.stringify(data)), ZRCommonUtil.fromClientNavigation = !0, Crm.addToHistory(null, prevArrow) | |
} else | |
ZRCommonUtil.renderClientDetailPage(id, module, assoJOId) | |
}, | |
renderClientDetailPage: function(id, module, assoJOId) { | |
var titleElem = $("#client-login-detail-title"); | |
if (id && module) { | |
var data = ZRCommonUtil.getClientDetailView(id, module, assoJOId); | |
if (!ZRCommonUtil.isEmpty(data)) { | |
var record = data.record, | |
photoId = data.PHOTOFILEID; | |
if (!ZRCommonUtil.isEmpty(record)) { | |
var headerObj = ZRCommonUtil.getHeaderDetail(record, module); | |
"Potentials" === module ? headerObj.submissioncount = data.count : "Leads" === module && data && data.submission ? (data.submission.hasOwnProperty("rating") && (data.submission.ratingArray = ZRCommonUtil.generateRating(data.submission.rating)), !Utils.isEmpty(data.submission) && data.submission.status ? headerObj.actStatus = data.submission.status : ZRCommonUtil.getStatusFromInterviewRecord(data, headerObj)) : "Products" === module && data && data.decision && data.decision.actualStatus && (headerObj.actualStatus = data.decision.actualStatus); | |
var headerTitle = ZRCommonUtil.getHeaderHtml(headerObj, photoId, id, module), | |
elem = document.createElement("client-login-detail-view"); | |
elem.setAttribute("id", "client-login-detail-component"), elem.setData({ | |
detail: data, | |
header: headerObj, | |
module: module, | |
entityid: id, | |
attachment: [], | |
note: [] | |
}); | |
var modelId = $("#client-quick-view .popup-model-content"); | |
modelId.length ? ($("#client-quick-view .popup-model-content").html(elem), titleElem.html(headerTitle)) : ZRCommonUtil.getDetailView(id, module, !0, assoJOId), $("#client-login-detail-nav").data("id", id), ZRCommonUtil.setNavigationState(id) | |
} | |
} | |
} | |
}, | |
showStatusBasedCount: function(module, obj) { | |
$(obj).addClass("active").siblings("a").removeClass("active"), "Potentials" === module ? $("#Leads-status-based-count, #Products-status-based-count").hide() : "Leads" === module ? $("#Potentials-status-based-count, #Products-status-based-count").hide() : "Products" === module && $("#Leads-status-based-count, #Potentials-status-based-count").hide(), $("#" + module + "-status-based-count").show() | |
}, | |
loadStatusBasedFilter: function(element, module) { | |
var params = {}; | |
params.module = module, params.calleeObj = "crmTab", params.from = "CLHomePageDashboard", params.clickId = "tab", params.isSearch = !1, params.filters = JSON.stringify($(element).data("params")), "Products" !== module && crmTab.checkPresenceInCache(module) && crmTab.deleteFromCache(module), Crm.addToHistory(void 0, void 0, params) | |
}, | |
loadListViewPage: function(module, recordId) { | |
if (module && recordId) { | |
var params = {}; | |
params.module = module, params.recordId = recordId, params.from = "CLHomePageDashboardRecord", params.calleeObj = "crmTab", params.clickId = "tab", "Accounts" === module ? ZRCommonUtil.getDetailView(recordId, module, !1) : Crm.addToHistory(void 0, void 0, params) | |
} | |
}, | |
loadMyProfile: function(type, contactUserId) { | |
Utils.showHideLoadingDiv(!0); | |
var params = {}; | |
type && "editContactUserRole" === type && (params = { | |
action: "editContactUserRole", | |
contactUserId: contactUserId | |
}), ZRCommonUtil.ajaxGetMethod("/recruit/getClientProfileDetail.do", params, !1, "json", void 0, function(data) { | |
Utils.showHideLoadingDiv(); | |
var elem = document.createElement("client-login-my-profile"), | |
value = { | |
user: data.user, | |
type: "View", | |
meta: data.meta | |
}, | |
modelBoxTitle = I18n.getMsg("My Profile"), | |
removecancelbtn = !1, | |
needCrossBtn = !0, | |
editProfile = function(ev, target, userData) { | |
$(target).hide(), Utils.showHideLoadingDiv(!0), ZRCommonUtil.editProfile(userData) | |
}, | |
overFn = function(ev, target, content) { | |
Utils.showtt(content) | |
}, | |
outFn = function() { | |
zctt.hidett() | |
}, | |
editIcon = { | |
name: "a", | |
attr: { | |
href: "javascript:void(0)", | |
"class": "marL20 neweditIcon dIB" | |
}, | |
events: [{ | |
name: "click", | |
fn: editProfile, | |
args: [data] | |
}, { | |
name: "mouseover", | |
fn: overFn, | |
args: [I18n.getMsg("crm.button.edit")] | |
}, { | |
name: "mouseout", | |
fn: outFn | |
}] | |
}; | |
type && "editContactUserRole" === type && (modelBoxTitle = I18n.getMsg("zr.cl.edit.contact.user.RoleOrProfile"), value.renderType = "editContactUserRole", editIcon = {}), isClientUser && showLocalePopupToClient && (modelBoxTitle = I18n.getMsg("crm.security.locale.informations"), value.type = "Edit", value.showLocalePopupToClient = !0, removecancelbtn = !0, needCrossBtn = !1, editIcon = {}), elem.setAttribute("id", "client-login-myprofile-component"), elem.setData(value); | |
var titleElem = Utils.createHTML({ | |
name: "span", | |
text: modelBoxTitle, | |
child: [editIcon] | |
}); | |
ZRCommonUtil.createModal({ | |
modalid: "client-myprofile-view", | |
modalclass: "wid650 zrc-model-and-selectbox", | |
needCrossBtn: needCrossBtn, | |
removecancelbtn: removecancelbtn, | |
title: titleElem, | |
contentClass: "pad0 oveH clearfix", | |
content: elem, | |
callback: function() { | |
type && "editContactUserRole" === type || isClientUser && showLocalePopupToClient || $("#client-myprofile-view-btn").hide(), $("#cde").css("overflow", "hidden") | |
}, | |
savefn: function() { | |
ZRCommonUtil.saveProfile() | |
}, | |
removeElem: !0 | |
}) | |
}, function(errorObj) { | |
ZRCommonUtil.lyteErrorMessage(errorObj.responseText) | |
}) | |
}, | |
editProfile: function(data) { | |
var elem = document.createElement("client-login-my-profile"); | |
elem.setData({ | |
user: data.user, | |
type: "Edit", | |
meta: data.meta | |
}), $("#client-myprofile-view").find(".popup-model-content").html(elem).show(), $("#client-myprofile-view-btn").show(), ZRCommonUtil.bindCountryEvent(), Utils.showHideLoadingDiv(), $("#cde").css("overflow", "hidden") | |
}, | |
bindCountryEvent: function() { | |
$("body").find("#countrySearch").off("keyup").on("keyup", function() { | |
var searchStr = $(this).val().trim(); | |
$.each($("#selCountryList li"), function(i, li) { | |
var countryName = $(li).text().trim(); | |
-1 !== countryName.toLowerCase().search(searchStr.toLowerCase()) ? $(li).show() : $(li).hide() | |
}) | |
}) | |
}, | |
saveProfile: function() { | |
var params = {}, | |
editContactUser = $("#editContactUser").val(); | |
if (editContactUser && "editContactUserRole" === editContactUser) | |
params.contactUserRoleId = document.getElementById("contactUserRole").getData("ltPropSelected"), params.contactUserProfileId = document.getElementById("contactUserProfile").getData("ltPropSelected"), params.contactUserId = $("#contactUserId").val(), params.contactUserAction = "updateContactUserRole"; | |
else if (isClientUser && showLocalePopupToClient) | |
params.language = document.getElementById("myprofile-language").getData("ltPropSelected"), params.userCountryLocale = $("#myprofile-country").val(), params.userTimeFormat = document.getElementById("myprofile-timeformat").getData("ltPropSelected"), params.timeZone = document.getElementById("myprofile-timezone").getData("ltPropSelected"), params.contactUserAction = "updateContactUserLocale", showLocalePopupToClient = !1; | |
else { | |
var lastName = $("#myprofile-lname").val(); | |
if (0 == lastName.length) | |
return $("#myprofile-lname").parents(".zrc-form-row").addClass("errorFieldbb"), $("#errorMsg_cl_LASTNAME").show(), !1; | |
params.firstName = $("#myprofile-fname").val(), params.lastName = lastName, params.language = document.getElementById("myprofile-language").getData("ltPropSelected"), params.userCountryLocale = $("#myprofile-country").val(), params.userTimeFormat = document.getElementById("myprofile-timeformat").getData("ltPropSelected"), params.timeZone = document.getElementById("myprofile-timezone").getData("ltPropSelected"), params.contactUserAction = "updateContactUserDetails" | |
} | |
Utils.showHideLoadingDiv(!0), ZRCommonUtil.ajaxPostMethod("/recruit/UpdateClientProfileDetail.do", params, !1, "json", void 0, function(data) { | |
if (Utils.showHideLoadingDiv(), data && data.reload && data.reload === !0) | |
window.location.reload(); | |
else if (data && data.message && "success" === data.message) { | |
if (editContactUser && "editContactUserRole" === editContactUser && params) { | |
var contactLVData = document.querySelector("contact-invite-list").getData(); | |
$.each(contactLVData.contacts, function(i, contactObj) { | |
contactObj.userId == params.contactUserId && (Lyte.objectUtils(contactObj, "add", "profileId", params.contactUserProfileId), Lyte.objectUtils(contactObj, "add", "roleId", params.contactUserRoleId)) | |
}) | |
} | |
ZRCommonUtil.closeDialog(void 0, void 0, "#client-myprofile-view"), crmui.showMsgBand("success", I18n.getMsg("crm.zci.setup.mapping.updated.success"), 5e3) | |
} else | |
data && data.message && "NOT_CLIENT_ROLE_PROFILE" === data.message ? crmui.showMsgBand("error", I18n.getMsg("cl.portal.not.client.roleid.profileid.error"), crmConstants.failureMsgLongDelay) : data && data.message && "failure" === data.message && ZRCommonUtil.lyteErrorMessage(data) | |
}, function(errorObj) { | |
ZRCommonUtil.lyteErrorMessage(errorObj.responseText) | |
}) | |
}, | |
getDomainName: function(website) { | |
var domainName = ""; | |
if (void 0 !== website && null !== website && "null" !== website && 0 !== website.length) { | |
website = website.toLocaleLowerCase(), website = website.startsWith("http") || website.startsWith("ftp") ? website : "https://" + website; | |
var parseUrl = new URL(website); | |
if (void 0 !== parseUrl && null !== parseUrl && "null" !== parseUrl) { | |
var hostName = parseUrl.hostname; | |
void 0 !== hostName && null !== hostName && "null" !== hostName && (hostName = hostName.startsWith("www") ? hostName.substring(3) : hostName, domainName = hostName.startsWith(".") ? hostName.substring(1) : hostName) | |
} | |
} | |
return domainName | |
}, | |
getPortalNameFormWebsite: function(website) { | |
var domainName = ZRCommonUtil.getDomainName(website); | |
return domainName && 0 !== domainName.length && (domainName = domainName.substring(0, domainName.indexOf("."))), domainName | |
}, | |
getFileTypeClass: function(fileType) { | |
if (void 0 != fileType && null != fileType && 0 != fileType.trim().length) { | |
var className = "fa fa-file-word-o"; | |
switch (fileType) { | |
case "rar": | |
case "zip": | |
case "tar": | |
className = "fa fa-file-archive-o"; | |
break; | |
case "gif": | |
case "jpeg": | |
case "jpg": | |
case "png": | |
case "bmp": | |
case "tiff": | |
case "mng": | |
case "svg": | |
className = "fa fa-file-image-o"; | |
break; | |
case "xlsx": | |
case "xls": | |
case "xml": | |
className = "fa fa-file-excel-o"; | |
break; | |
case "doc": | |
case "docx": | |
case "dotx": | |
className = "fa fa-file-word-o"; | |
break; | |
case "pdf": | |
className = "fa fa-file-pdf-o" | |
} | |
return className | |
} | |
return "fa fa-file-word-o" | |
}, | |
globalHideCLPopups: function() { | |
var clientLoginPreivew = $("#cLTempModelPop"), | |
clQVId = "#client-quick-view"; | |
$(clQVId).is(":visible") && ZRCommonUtil.closeDialog(void 0, void 0, clQVId), clientLoginPreivew.is(":visible") && $("#cLTempCls").trigger("click") | |
}, | |
expandTextArea: function(id) { | |
$("#" + id).find("textarea").each(function() { | |
var currElem = $(this), | |
spanEle = $("<span>"); | |
spanEle.attr({ | |
id: "span_tarea", | |
"class": "dIB" | |
}).css({ | |
visiblity: "hidden", | |
"font-size": "1rem", | |
"overflow-y": "scroll", | |
"line-height": "18px" | |
}), $("body").append(spanEle), $("#span_tarea").text(currElem.val()), $("#span_tarea").css({ | |
width: currElem.outerWidth(), | |
"word-break": "break-word" | |
}); | |
var hts = 18 * parseInt($("#span_tarea").outerHeight() / 18); | |
hts > 361 ? ($("#span_tarea").remove(), currElem.css({ | |
height: "360px" | |
})) : (hts = 0 == hts ? 18 : hts, currElem.css({ | |
height: hts | |
}), $("#span_tarea").remove()) | |
}) | |
}, | |
generateRating: function(rating) { | |
var ratingClassArray = []; | |
rating = rating ? rating : 0; | |
for (var i = 1; 5 >= i; i++) | |
ratingClass = 4 === rating || 5 === rating ? "starGreen" : 3 === rating ? "starYellow" : 2 === rating || 1 === rating ? "starRed" : "starNormal", ratingClassArray.push(rating >= i ? { | |
ratingClass: ratingClass | |
} : { | |
ratingClass: "starNormal" | |
}); | |
return ratingClassArray | |
}, | |
showHideCountryList: function(type, editCountryWrap) { | |
var myProfileModel = $("#client-myprofile-view"); | |
"hide" === type ? (editCountryWrap.find(".zrc-dropdown").hide(), myProfileModel.attr("style", "height: auto;overflow: auto;max-height: 542px;"), myProfileModel.find(".popup-model-content, #cde").removeAttr("style")) : "show" === type && (editCountryWrap.find(".zrc-dropdown").show().css("top", "100%"), myProfileModel.attr("style", "height: auto;overflow: inherit;max-height: 542px;"), myProfileModel.find(".popup-model-content, #cde").attr("style", "overflow: inherit;")) | |
}, | |
showPeoplePlusAlert: function(page, returnJson) { | |
if (page && "detail" === page) { | |
if ($("#crm-msg").remove(), returnJson && returnJson.deletedFromPeople && "1" === returnJson.deletedFromPeople) { | |
var msg = I18n.getMsg("zr.pp.dept.detailpage.deleted.msg", Crm.moduleInfo.Accounts[0]), | |
params = { | |
removefreeze: !1, | |
type: "warning", | |
scroll: !1, | |
baseid: "error-alert-message", | |
msg: msg, | |
display: "inline", | |
displayId: "detailViewButtonLayerDiv" | |
}; | |
ZRComponent.openAlertMessage(params), $("#error-alert-message").removeClass("marT20").addClass("mar10 marB0") | |
} | |
} else if (page && "list" === page) { | |
var msg = I18n.getMsg("zr.pp.dept.listpage.addmodify.msg", Crm.moduleInfo.Accounts[0]); | |
crmui.showMsgBand("info", msg, 1e4, void 0, "noAnimation"), $("#crm-msg").css("box-shadow", "none") | |
} | |
}, | |
deletePortalName: function() { | |
var elem = Utils.createHTML({ | |
name: "div", | |
child: [{ | |
name: "p", | |
attr: { | |
"class": "f15 pT10 pB10 redTxt" | |
}, | |
text: "Note: Please don't do any operations in this page without proper knowledge." | |
}, { | |
name: "div", | |
attr: { | |
"class": "zrc-form-row" | |
}, | |
child: [{ | |
name: "label", | |
child: [{ | |
name: "div", | |
attr: { | |
"class": "wf_requiredMark" | |
}, | |
text: "Enter the reson for deleting the portal name" | |
}] | |
}, { | |
name: "div", | |
attr: { | |
"class": "zrc-value pB0" | |
}, | |
child: [{ | |
name: "textarea", | |
attr: { | |
id: "reason", | |
name: "reason", | |
"class": "cryTextArea cl-note-textarea", | |
maxlength: "600", | |
"data-uitype": "110" | |
} | |
}] | |
}] | |
}] | |
}); | |
return ZRCommonUtil.createModal({ | |
modalid: "deletePortalNamePopup", | |
modalclass: "w700 dN", | |
contentClass: "pB0", | |
title: "Delete Portal", | |
removefreeze: !0, | |
content: elem, | |
savebtn: I18n.getMsg("Delete"), | |
saveclass: "redbtn", | |
savefn: function(ev, target) { | |
var reason = $("#reason").val(); | |
return reason.length > 3 ? ($("#delReason").val(reason), ZRCommonUtil.closeDialog(ev, target, "#deletePortalNamePopup"), document.forms.deletePortalName.submit(), void 0) : (crmui.showMsgBand("error", "Enter the reason for deleting the portal", 5e3), !1) | |
}, | |
callback: function() { | |
$("#deletePortalNamePopup .popup-model-content").removeClass("pB0") | |
} | |
}), !1 | |
}, | |
showHideInterviewDet: function(thisObj) { | |
$(thisObj).hasClass("creatint-active-tab") || ($(".creatint-tab-review").removeClass("creatint-active-tab"), $(".creatint-tab-detail").addClass("creatint-active-tab"), $("#interviewReviewDiv").empty(), $("#viewentityformdiv").show()) | |
}, | |
notifyOnBoardingTeam: function(type) { | |
var urlData = {}; | |
urlData.type = type, ZRCommonUtil.ajaxPostMethod("/recruit/NotifyToOnBoardingTeam.do", urlData, !1, "json", void 0, function(json) { | |
json = ZRCommonUtil.convertStringToJson(json), json && json.isNotified && $(".micsclose").click() | |
}, function(xhr, pasteDiv) { | |
ZRCommonUtil.failureFunction(xhr, pasteDiv) | |
}) | |
}, | |
setDefaultOutlookVerison: function(txt) { | |
$("#result").html(txt); | |
var osVersion = Browser.OSName; | |
"Mac" === osVersion ? $("#versionlist").val("2011").trigger("change") : "Windows" === osVersion && $("#versionlist").val("201064").trigger("change") | |
}, | |
removeActionsFromDetailPageforApprovals: function() { | |
var linksToBeRemoved_Personalities = ZRCommonUtil.getRelatedListNameVsId(); | |
delete linksToBeRemoved_Personalities.smspersonality, delete linksToBeRemoved_Personalities.emailspersonality; | |
var moreActionsToBeRemoved_Ids = ["customButtonDetails", "newleft_AssoCand", "candidateAssociation", "cutomizeMacroLink", "newRelatedListDiv", "fullInfoNoteDiv", "convert_details", "toggleNotes > #zciFieldMap", "singleGenerateFormattedResumeId", "FindInIndeedLInk", "associatedTags li a, #associate-tagshow, a#createlink, div.normalDropDown, div#customlinkcount span"], | |
moreActionsToBeRemoved_Names = ["mailmerge", "Duplicate2", "Convert2", "Clone", "Delete2", "restrictProcessing"], | |
moreActionsToBeRemoved_Class = ["notesActionbtn", "notesActionbtnDel", "notesArrowDownNew", "addNewIcP", "typeedit", "dd-sep", "calliconOuter", "relJobPublishId", "generateOfferLetter"], | |
moreActionsToBeRemoved_CallIds = ["relAssociateExistingJOId", "relClientSubmissionId", "relCreateNewProductId", "requestGDPRConsent"]; | |
ZRCommonUtil.removeRelatedListActionsByPersonalityName(linksToBeRemoved_Personalities), ZRCommonUtil.removeMoreActions(moreActionsToBeRemoved_Ids, moreActionsToBeRemoved_Names, moreActionsToBeRemoved_Class, moreActionsToBeRemoved_CallIds) | |
}, | |
removeLinksFromDetailPageforApprovals: function() { | |
var linksToBeRemoved_Personalities = ZRCommonUtil.getRelatedListNameVsId(); | |
delete linksToBeRemoved_Personalities.smspersonality, delete linksToBeRemoved_Personalities.emailspersonality, delete linksToBeRemoved_Personalities.attachmentspersonality; | |
var moreActionsToBeRemoved_Ids = ["cutomizeMacroLink", "newRelatedListDiv", "convert_details", "singleGenerateFormattedResumeId", "FindInIndeedLInk", "associatedTags li a, #associate-tagshow, a#createlink, div.normalDropDown, div#customlinkcount span"], | |
moreActionsToBeRemoved_Names = ["mailmerge", "Duplicate2", "Convert2"]; | |
ZRCommonUtil.removeRelatedListActionsByPersonalityName(linksToBeRemoved_Personalities), ZRCommonUtil.removeMoreActions(moreActionsToBeRemoved_Ids, moreActionsToBeRemoved_Names) | |
}, | |
toggleClearLookupfield: function(mode, target) { | |
mode ? target.parent("div").find(".clear_lookupfield").show() : target.parent("div").find(".clear_lookupfield").hide() | |
}, | |
getFormattedDateTimeInUserPattern: function(date) { | |
var time, | |
timezone, | |
dateObj = {}; | |
if (date && null != date && date.indexOf("T") > -1) { | |
var time = date.split("T")[1]; | |
date = date.split("T")[0]; | |
var timezone = ""; | |
time.indexOf("-") > -1 ? (timezone = "-" + time.split("-")[1], time = time.split("-")[0]) : time.indexOf("+") > -1 && (timezone = "+" + time.split("+")[1], time = time.split("+")[0]), time = time.substring(0, time.lastIndexOf(":")), date = Utils.getDateInUserDatePattern(new Date(date)), "hh:mm a" === Crm.userDetails.TIME_FORMAT && (time = Lyte.Component.registeredHelpers.getTimeIn12Format(time)) | |
} | |
return dateObj = { | |
date: date, | |
time: time, | |
timezone: timezone | |
} | |
} | |
}; | |
!function($) { | |
function getOptionObj(optElem) { | |
var optionObj = {}, | |
value = optElem.val(), | |
label = optElem.text(), | |
data = optElem.data(); | |
return optionObj.value = value, optionObj.label = label, $.isEmptyObject(data) || (data.icon ? optionObj.icon = data.icon : data.img && (optionObj.src = data.img)), optionObj | |
} | |
function getData(elem) { | |
var optionArr = []; | |
return elem.children().each(function(i, item) { | |
var optElem = $(item), | |
nodeName = $(item)[0].nodeName; | |
if ("OPTION" === nodeName) | |
optionArr.push(getOptionObj(optElem)); | |
else if ("OPTGROUP" === nodeName) { | |
var groupObj = {}, | |
groupArr = [], | |
label = optElem[0].label; | |
optElem.children().each(function(j, optItem) { | |
groupArr.push(getOptionObj($(optItem))) | |
}), groupObj[label] = groupArr, optionArr.push(groupObj) | |
} | |
}), optionArr | |
} | |
function getSelectedVal(elem) { | |
var optionVal = void 0; | |
return elem.find("option:selected").each(function(i, item) { | |
var val = $(item).val(); | |
optionVal = void 0 === optionVal ? val : optionVal + ";" + val | |
}), optionVal | |
} | |
var Selectbox = function(element, options) { | |
this._listen(element, options) | |
}; | |
Selectbox.prototype = { | |
constructor: Selectbox, | |
_listen: function(element, options) { | |
this.options = options, this.$element = $(element), this._create() | |
}, | |
_getEllipsisVal: function(value, maxLen) { | |
var obj = {}, | |
dotVal = value, | |
objLen = parseInt(maxLen), | |
titleStr = ""; | |
return value && null != value && "null" != value && value.length > objLen && (dotVal = value.substring(0, objLen), dotVal += "...", titleStr = value), obj.dotVal = dotVal, obj.title = titleStr, obj | |
}, | |
_getElement: function(type, item) { | |
var elem = void 0; | |
switch (type) { | |
case "icon": | |
elem = $("<i>").addClass(item.icon).data("value", item.value); | |
break; | |
case "image": | |
elem = $("<img>").attr("src", item.src).data("value", item.value) | |
} | |
return elem | |
}, | |
_inArray: function(valArr, val) { | |
var index = -1; | |
return $.each(valArr, function(i, value) { | |
value.trim().toLowerCase() === val.trim().toLowerCase() && (index = i) | |
}), index | |
}, | |
_getMenuItem: function(item) { | |
var menuElem = $(this.options.menu), | |
value = this.options.val, | |
valArr = value ? value.split(";") : ""; | |
if (menuElem.data("label", item.label).data("value", item.value).data("role", "list"), this._isDefault() && this._inArray(valArr, item.value) > -1 && menuElem.addClass(this.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE), menuElem.text(this._getEllipsisVal(item.label, this.options.maxlen).dotVal), !/^(text)$/.test(this.options.type)) { | |
var typeElem = this._getElement(this.options.type, item); | |
typeElem && menuElem.prepend(typeElem) | |
} | |
return menuElem.attr("tabindex", "-1").attr("title", this._getEllipsisVal(item.label, this.options.maxlen).title), menuElem | |
}, | |
_getGroupItem: function(label) { | |
var groupElem = $(this.options.menu); | |
return groupElem.addClass(ClassName.TITLE).text(this._getEllipsisVal(label, this.options.maxlen).dotVal).attr("title", this._getEllipsisVal(label, this.options.maxlen).title).data("label", label), groupElem | |
}, | |
_getItem: function() { | |
var base = this, | |
frag = document.createDocumentFragment(); | |
return $.each(this.options.item, function(i, opt) { | |
opt.hasOwnProperty("label") ? frag.appendChild(base._getMenuItem(opt)[0]) : $.each(opt, function(label, groupItem) { | |
frag.appendChild(base._getGroupItem(label)[0]), $.each(groupItem, function(index, optItem) { | |
frag.appendChild(base._getMenuItem(optItem)[0]) | |
}) | |
}) | |
}), frag | |
}, | |
_getLabel: function() { | |
var title = "", | |
base = this, | |
value = this.options.val, | |
valArr = value ? value.split(";") : ""; | |
return $.each(this.options.item, function(i, opt) { | |
opt.hasOwnProperty("label") ? base._inArray(valArr, opt.value) > -1 && (title = 0 === title.length ? opt.label : opt.label + "," + title) : $.each(opt, function(label, groupItem) { | |
$.each(groupItem, function(index, optItem) { | |
base._inArray(valArr, optItem.value) > -1 && (title = 0 === title.length ? optItem.label : optItem.label + "," + title) | |
}) | |
}) | |
}), title | |
}, | |
_getTitle: function() { | |
var item = this.options.item, | |
title = this._isDefault() ? this._getLabel() : ""; | |
return title && title.length > 0 ? title : item.length > 0 ? item[0].label : "" | |
}, | |
position: function() { | |
var base = $(this).data("selectbox"); | |
base._getPosition() | |
}, | |
_getPosition: function() { | |
var $this = $(this._baseElem), | |
$drop = $(this._dropdown), | |
$dropdownParent = this.options.parent, | |
elemPos = $this.offset(), | |
elemHt = $this.innerHeight(), | |
elemOht = $this.outerHeight(); | |
dropDownHt = $drop.outerHeight(), dropDownWd = $drop.outerWidth(), windHt = window.innerHeight, windWd = window.innerWidth, scrollHeight = $(window).scrollTop(); | |
var css = { | |
top: elemPos.top + elemOht, | |
left: elemPos.left | |
}; | |
if (void 0 !== $dropdownParent && 0 !== $dropdownParent.length) { | |
var parentPos = $dropdownParent.offset(); | |
css.top -= parentPos.top | |
} | |
elemHt + elemPos.top + dropDownHt > windHt + scrollHeight && (css.top = elemPos.top - dropDownHt), elemPos.left + dropDownWd > windWd && (css.left = elemPos.left - dropDownWd), this._dropdown.css({ | |
top: css.top + "px", | |
left: css.left + "px" | |
}) | |
}, | |
_isDefault: function() { | |
var value = this.options.val; | |
return void 0 !== value && 0 !== value.trim().length ? !0 : !1 | |
}, | |
_removeValue: function(value) { | |
var elem = $(this.$element); | |
if ("SELECT" === elem[0].nodeName && value && 0 !== value.length) { | |
var valArr = value.split(";"); | |
valArr.length > 1 ? $.each(valArr, function(i, val) { | |
elem.find("option[value='" + val + "']").prop("selected", !1) | |
}) : elem.find("option[value='" + value + "']").prop("selected", !1), elem.trigger("change") | |
} | |
}, | |
_setValue: function(value) { | |
var elem = $(this.$element); | |
if ("SELECT" === elem[0].nodeName && value && 0 !== value.length) { | |
var valArr = value.split(";"); | |
valArr.length > 1 ? $.each(valArr, function(i, val) { | |
elem.find("option[value='" + val + "']").prop("selected", !0) | |
}) : elem.find("option[value='" + value + "']").prop("selected", !0), elem.trigger("change") | |
} | |
}, | |
_getBaseClass: function() { | |
return this.options.box ? ClassName.BOX : ClassName.LINE | |
}, | |
_getSpanClass: function() { | |
return this.options.box ? "" : ClassName.SPAN | |
}, | |
_clearSelect: function() { | |
var $element = this.$element; | |
$element.val(this.options.multiple ? [] : ""), $element.find("option:selected").removeProp("selected") | |
}, | |
_create: function() { | |
var baseClass = this._getBaseClass(), | |
spanClass = this._getSpanClass(), | |
item = this._getItem(), | |
title = this._getTitle(), | |
itemLen = item.childElementCount, | |
id = this.$element[0].id && this.$element[0].id.length > 0 ? this.$element[0].id : this.$element[0].name, | |
scroll = this.options.scroll, | |
tabIndex = this.$element[0].tabIndex, | |
tabIndex = void 0 === tabIndex ? "1" : tabIndex; | |
this._baseElem = $(this.options.template), this._baseElem.attr("id", id + "-sbox").data("dropid", "#" + id + "-slist").addClass(baseClass).attr("tabIndex", tabIndex); | |
{ | |
var child = this._baseElem.children(); | |
child[1] | |
} | |
if (this._title = child[0], $(this._title).text(this._getEllipsisVal(title, this.options.maxlen).dotVal).addClass(spanClass).attr("title", this._getEllipsisVal(title, this.options.maxlen).title).attr("id", id + "-svalue"), this._dropdown = $(this.options.dropdown), this._dropdown.find(Selector.UL).html(item).attr("id", id + "-slist").addClass(this.options.ulclass ? this.options.ulclass : ClassName.ULCLASS), this.options.extraCreateOptionName) { | |
var createExtrOptEle = Utils.createHTML({ | |
name: "div", | |
attr: { | |
"class": "cbCreateView w100p p0" | |
}, | |
child: [{ | |
name: "a", | |
attr: { | |
"class": "cP pL30 pTB6 dB padR30 extraCreateOpt" | |
}, | |
html: this.options.extraCreateOptionName | |
}] | |
}); | |
this._dropdown.find(Selector.UL).after(createExtrOptEle) | |
} | |
if (1 === itemLen) { | |
var $li = this._dropdown.find(Selector.LI); | |
this.options.val = $li.data("value"), $li.addClass(this.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE) | |
} | |
if (this.$element.is(Selector.VISIBLE) || this._baseElem.attr("style", "display:none"), this.$element.data("target", "#" + id + "-sbox").hide(), 0 !== $(this.appendto).length ? $(this.appendto).after(this._baseElem) : this.$element.after(this._baseElem), $("body").append(this._dropdown), itemLen > this.options.searchlimit && $(this._dropdown).prepend($(this.options.search).attr("id", id + "-ssearch")), this._isDefault() || this._clearSelect(), this.options.multiple && this.$element.attr("multiple", !0), this._bindEvent(), this._isDefault()) { | |
var $liElem = this._dropdown.find(Selector.LI), | |
$li = $liElem.filter(this.options.disabled ? Selector.HIDDEN : Selector.ACTIVE), | |
selected = [], | |
value = void 0; | |
$.each($li, function(i, elem) { | |
value = value ? $(elem).data("value") + ";" + value : $(elem).data("value"); | |
var obj = { | |
label: $(elem).data("label"), | |
value: $(elem).data("value") | |
}; | |
selected.push(obj) | |
}), this._baseElem.data("selected", selected), selected.length > 1 && this.$element.attr("multiple", !0) | |
} | |
!$.isEmptyObject(scroll) && this.isFunction(scroll.fn) && (this._dropdown.find(Selector.UL).data("scroll", scroll), this._scroll()), this._callback("create") | |
}, | |
_bindEvent: function() { | |
var base = this; | |
this._baseElem.on("click.sbox", function(event) { | |
var tgt = $(event.target); | |
(tgt.is(base._baseElem) || tgt.parent().is(base._baseElem)) && (base.hide(), base.toggle()) | |
}).on("keydown.sboxlistkey", function(event) { | |
var $drop = base._dropdown.is(Selector.VISIBLE) ? base._dropdown.find(Selector.LI) : base._dropdown.siblings().filter(Selector.UL).find(Selector.LI), | |
$selli = $drop.filter(Selector.SELECTED), | |
$li = 0 === $selli.length ? $drop[0] : $selli[0]; | |
base._keypress($li, event) | |
}).on("focus", function(event) { | |
base._callback("focus", $(event.target)) | |
}).on("blur", function(event) { | |
base._callback("blur", $(event.target)) | |
}), this._dropdown.on("click.sdrop", function(event) { | |
var tgt = $(event.target); | |
tgt.is("li") && base._selectItem(event.target) | |
}).on("keydown.sdropkey", function(event) { | |
var $drop = base._dropdown.is(Selector.VISIBLE) ? base._dropdown.find(Selector.LI) : base._dropdown.siblings().filter(Selector.UL).find(Selector.LI), | |
$li = /input/i.test(event.target.tagName) ? $drop[0] : event.target; | |
base._keypress($li, event) | |
}).on("keyup.sinputkey", function(event) { | |
var tgt = $(event.target); | |
tgt.is("input") && (clearTimeout(base.options.userCompTimeoutId), base.options.userCompTimeoutId = setTimeout(function() { | |
base.search(event) | |
}, base.options.searchDelay)) | |
}).on("click", ".extraCreateOpt", function(event) { | |
base._callback("extraCreateOpt", $(event.target)) | |
}) | |
}, | |
_keypress: function($li, jEve) { | |
var base = this; | |
switch (event.keyCode) { | |
case 40: | |
base._next($li); | |
break; | |
case 38: | |
base._prev($li); | |
break; | |
case 32: | |
case 13: | |
$(jEve.target).is($("li")) && base._enter($li); | |
break; | |
case 27: | |
base._escape() | |
} | |
}, | |
_scroll: function() { | |
var base = this; | |
this._dropdown.find(Selector.UL).unbind("scroll").bind("scroll", function() { | |
var $this = $(this), | |
data = $this.data("scroll"); | |
data = data ? data : {}, data && "string" == typeof data && (data = JSON.parse(data)); | |
var height = this.scrollHeight - $this.height(), | |
scroll = $this.scrollTop(), | |
isScrolledToEnd = scroll >= height - 10; | |
if (isScrolledToEnd && data && data.shownext) { | |
var args = []; | |
args.unshift(base), data.fn.apply(this, args) | |
} | |
}) | |
}, | |
autoComplete: function(data) { | |
var id = this.$element[0].id && this.$element[0].id.length > 0 ? this.$element[0].id : this.$element[0].name, | |
scroll = this._dropdown.data("scroll"); | |
if (this._dropdown.find(Selector.UL).nextAll("[id$=sautores]").remove(), this._dropdown.find(Selector.UL).hide(), $.isEmptyObject(data)) { | |
var searchUl = this._dropdown.find(Selector.UL).clone().html($(this.options.menu).text(this.options.message).addClass(ClassName.ERROR)); | |
this._dropdown.find(Selector.UL).after(searchUl.attr("id", id + "-sautores").show()) | |
} else { | |
var base = this, | |
frag = document.createDocumentFragment(); | |
$.each(data, function(i, opt) { | |
opt.hasOwnProperty("label") ? frag.appendChild(base._getMenuItem(opt)[0]) : $.each(opt, function(label, groupItem) { | |
frag.appendChild(base._getGroupItem(label)[0]), $.each(groupItem, function(index, optItem) { | |
frag.appendChild(base._getMenuItem(optItem)[0]) | |
}) | |
}) | |
}); | |
var searchUl = this._dropdown.find(Selector.UL).clone().html(frag); | |
this._dropdown.find(Selector.UL).after(searchUl.attr("id", id + "-sautores").show()), !$.isEmptyObject(scroll) && this.isFunction(scroll.fn) && (this._dropdown.find(Selector.UL).nextAll("[id$=sautores]").data("scroll", scroll), this._scroll()) | |
} | |
this._getPosition() | |
}, | |
refresh: function(data) { | |
var obj = getData(this.$element), | |
obj = obj && 0 !== obj.length ? obj : [], | |
value = void 0, | |
selected = [], | |
selected = this._baseElem.data("selected"), | |
selected = selected ? selected : []; | |
if (!$.isEmptyObject(data)) { | |
var frag = document.createDocumentFragment(); | |
$.each(data, function(i, opt) { | |
var option = $("<option>"), | |
group = $("<optgroup>"); | |
if (opt.hasOwnProperty("label")) | |
option.attr("value", opt.value).text(opt.label), frag.appendChild(option[0]), obj.push(opt); | |
else { | |
var groupObj = {}, | |
groupArr = []; | |
$.each(opt, function(label, groupItem) { | |
group.attr("label", label), frag.appendChild(group[0]), $.each(groupItem, function(index, optItem) { | |
option.attr("value", optItem.value).text(optItem.label), frag.appendChild(option[0]), groupArr.push(optItem) | |
}), groupObj[label] = groupArr, obj.push(groupObj) | |
}) | |
} | |
}), $(this.$element).append(frag) | |
} | |
this.options.item = obj, $.each(selected, function(i, item) { | |
value = void 0 === value ? item.value : item.value + ";" + value | |
}), this.options.val = value ? value : "", this._dropdown.find(Selector.UL).filter(Selector.VISIBLE).html(this._getItem()), this._getPosition() | |
}, | |
_clearSearch: function() { | |
var $li = this._dropdown.find(Selector.LI); | |
this._dropdown.find(Selector.INPUT).val(""), $li.filter(Selector.ERROR).remove(), $li.show() | |
}, | |
_callback: function(type, curElem) { | |
var callback = this.options.callback; | |
this.isFunction(callback) && callback(type, this, curElem) | |
}, | |
isFunction: function(fn) { | |
return "function" == typeof fn ? !0 : !1 | |
}, | |
enable: function() { | |
var base = $(this).data("selectbox"); | |
base._baseElem.removeClass(ClassName.ENABLE), base._callback("enable", base._baseElem) | |
}, | |
disable: function() { | |
{ | |
var base = $(this).data("selectbox"); | |
base.options.callback | |
} | |
base._baseElem.addClass(ClassName.ENABLE), base._callback("disable", base._baseElem) | |
}, | |
_openItem: function() { | |
this._clearSearch(), this._dropdown.find(Selector.UL).nextAll("[id$=sautores]").remove(), this._dropdown.find(Selector.UL).show(), this._dropdown.removeClass(ClassName.NONE); | |
var $parent = this._dropdown, | |
$input = $parent.find(Selector.INPUT), | |
$li = $parent.find(Selector.LI), | |
$notactive = $parent.find(Selector.NOTACTIVE), | |
$notactive = 0 !== $notactive.length ? $notactive.filter(Selector.NOTTITLE) : $notactive, | |
$nothidden = $parent.find(Selector.NOTHIDDEN), | |
$nothidden = 0 !== $nothidden.length ? $nothidden.filter(Selector.NOTTITLE) : $nothidden, | |
$hidd = $li.filter(Selector.HIDDEN), | |
$active = $li.filter(Selector.ACTIVE), | |
first = $li[0], | |
selected = 0 !== $hidd.length ? $hidd[0] : 0 !== $active.length ? $active[0] : $(first).hasClass(ClassName.TITLE) ? $(first).next() : first; | |
$li.removeClass(ClassName.SELECTED), !this.options.multiple && (this.options.disabled && 0 === $nothidden.length || 0 === $notactive.length) ? ($li.hide(), this._dropdown.find(Selector.UL).append($(this.options.menu).text(this.options.message).addClass(ClassName.ERROR))) : $(selected).addClass(ClassName.SELECTED), this._getPosition(), 0 !== $input.length ? $input.focus() : this._baseElem.focus(), this._callback("open", $(this)) | |
}, | |
open: function() { | |
var base = $(this).data("selectbox"); | |
return base._baseElem.hasClass(ClassName.ENABLE) ? !1 : void base._openItem() | |
}, | |
toggle: function() { | |
return this._baseElem.hasClass(ClassName.ENABLE) ? !1 : void (this._dropdown.hasClass(ClassName.NONE) ? this._openItem() : this._closeItem()) | |
}, | |
hide: function() { | |
var base = this; | |
$("." + base._getBaseClass()).each(function(i, element) { | |
var otherId = $(element).data("dropid"); | |
base._baseElem.data("dropid") !== otherId && $(otherId).parent().addClass(ClassName.NONE) | |
}) | |
}, | |
_closeItem: function() { | |
this._dropdown.addClass(ClassName.NONE), this._dropdown.find(Selector.LI).removeClass(ClassName.SELECTED), this._callback("close", $(this)) | |
}, | |
close: function() { | |
var base = $(this).data("selectbox"); | |
base._closeItem() | |
}, | |
clear: function() { | |
var base = $(this).data("selectbox"), | |
title = base._getTitle(), | |
item = base.options.item; | |
base._baseElem.removeData("selected"), base._clearSelect(), title && title.length > 0 ? title : item.length > 0 ? item[0].label : "", $(base._title).text(title) | |
}, | |
destory: function() { | |
var base = $(this).data("selectbox"); | |
base._baseElem.remove(), base._dropdown.remove(), $(this).removeData("selectbox") | |
}, | |
clearMenus: function(event) { | |
var tgt = $(event.target); | |
tgt.not(Selector.SPAN) && (tgt.parent().not(Selector.BASE) || tgt.parent().not(Selector.LINE)) && tgt.find(Selector.DROPDOWN).addClass(ClassName.NONE) | |
}, | |
_getDisplayTitle: function(obj) { | |
var title = void 0, | |
base = this; | |
return $.each(obj, function(i, item) { | |
var label = item.label, | |
label = label ? label.trim() : "", | |
label = base._getPlaceHolder(label); | |
title = label ? title ? title + "," + label : label : "" | |
}), title ? title : "" | |
}, | |
_removeObj: function(obj, arr) { | |
for (var i = 0; i < arr.length; i++) { | |
var item = arr[i]; | |
obj.value.trim() === item.value.trim() && arr.splice(i, 1) | |
} | |
return arr | |
}, | |
_getPlaceHolder: function(title) { | |
var text = void 0, | |
defaultTitle = this.options.placeholder ? this.options.placeholder : "", | |
placeholder = defaultTitle && 0 !== defaultTitle.length ? defaultTitle : ""; | |
return title.trim().toLowerCase() !== placeholder.trim().toLowerCase() && (text = title), text | |
}, | |
createSearchOption: function($this) { | |
var base = this, | |
$ul = this._dropdown.find(Selector.UL).first(), | |
option = $(base.$element).find("option")[0], | |
optgroup = $(base.$element).find("optgroup")[0], | |
$searchul = this._dropdown.find(Selector.UL).nextAll("[id$=sautores]"), | |
selectedVal = $(base.$element).find(":selected").val(); | |
if (selectedVal = selectedVal ? selectedVal.trim() : selectedVal, 0 !== $searchul.length && $searchul.is(Selector.VISIBLE)) { | |
if ($this.data("value").trim() === selectedVal) | |
return; | |
$ul.find(Selector.ACTIVE).removeClass(ClassName.ACTIVE); | |
var isGrouped = void 0 !== optgroup, | |
ttl = $this.prevUntil(Selector.TITLE); | |
ttl = 0 === ttl.length ? $this.prev() : ttl.prev(); | |
var ttlPresent = !1; | |
if (isGrouped) | |
$.each($ul.find(Selector.GROUPLI), function(i, item) { | |
if ($(item).data("label").trim() === ttl.data("label").trim()) { | |
var $opt = $(item).nextUntil(Selector.TITLE); | |
$.each($opt, function(o, optItem) { | |
$(optItem).data("value").trim() !== $this.data("value").trim() && ($(optItem).after($this.clone().data("label", $this.data("label")).data("value", $this.data("value")).data("role", "search")), $(base.$element).find("optgroup[label='" + ttl.data("label") + "']").append($(option).clone().text($this.data("label")).attr("label", $this.data("label")).attr("value", $this.data("value")))) | |
}), ttlPresent = !0 | |
} | |
}), ttlPresent || ($ul.append(ttl.clone().data("label", ttl.data("label"))), $ul.append($this.clone().data("label", $this.data("label")).data("value", $this.data("value")).data("role", "search")), $(base.$element).append($(optgroup).clone().attr("label", ttl.data("label")).html($(option).clone().text($this.data("label")).attr("label", $this.data("label")).attr("value", $this.data("value"))))); | |
else { | |
var thsOption = [{ | |
value: $this.data("value"), | |
label: $this.data("label") | |
}], | |
matchh = $.grep(this.options.item, function(i) { | |
return JSON.stringify(thsOption[0]) === JSON.stringify(i) | |
}); | |
matchh.length <= 0 ? (this.options.item = $.merge(thsOption, this.options.item), $(base.$element).prepend($(option).clone().text($this.data("label")).attr("label", $this.data("label")).attr("value", $this.data("value"))), $ul.prepend($this.clone().data("label", $this.data("label")).data("value", $this.data("value")).data("role", "list"))) : $ul.find("li").filter(function() { | |
return $(this).data("value") === $this.data("value") | |
}).addClass(ClassName.ACTIVE) | |
} | |
ttlPresent || ($ul.append(ttl.clone().data("label", ttl.data("label"))), $ul.append($this.clone().data("label", $this.data("label")).data("value", $this.data("value")).data("role", "search")), $(base.$element).append($(optgroup).clone().attr("label", ttl.data("label")).html($(option).clone().text($this.data("label")).attr("label", $this.data("label")).attr("value", $this.data("value"))))) | |
} | |
}, | |
removeSearchOption: function($this) { | |
var base = this, | |
$ul = this._dropdown.find(Selector.UL).first(), | |
$searchul = this._dropdown.find(Selector.UL).nextAll("[id$=sautores]"); | |
0 !== $searchul.length && $searchul.is(Selector.VISIBLE) && $.each($ul.find(Selector.NOTTITLE), function(i, item) { | |
if ($(item).data("label").trim() === $this.data("label").trim()) { | |
var resttl = $(item).prevUntil(Selector.TITLE), | |
resttl = 0 === resttl.length ? $(item).prev() : $(resttl[0]).prev(); | |
$(base.$element).find("option[value='" + $(item).data("value") + "']").remove(), $(item).remove(), 0 === resttl.nextUntil(Selector.TITLE).length && ($(base.$element).find("optgroup[label='" + resttl.data("label") + "']").remove(), resttl.remove()) | |
} | |
}) | |
}, | |
_selectItem: function(tgt) { | |
var $this = $(tgt), | |
base = this, | |
label = $this.data("label"), | |
label = label ? label.trim() : "", | |
value = $this.data("value"), | |
obj = {}, | |
placeholder = this._getPlaceHolder(label), | |
display = ""; | |
if (obj.label = label, obj.value = value, !$this.hasClass(ClassName.TITLE) && !$this.hasClass(ClassName.ERROR) && void 0 != placeholder) | |
if ($this.hasClass(ClassName.HIDDEN) || $this.hasClass(ClassName.ACTIVE)) { | |
if (this.options.multiple) { | |
var selected = this._baseElem.data("selected"), | |
selected = selected ? selected : []; | |
if (-1 !== this.options.maxselect && selected.length > this.options.maxselect) | |
return void this._callback("maxerror", $this); | |
$this.removeClass(this.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE), selected = this._removeObj(obj, selected), display = this._getDisplayTitle(selected), this._baseElem.data("selected", selected), $(this._title).text(this._getEllipsisVal(display, this.options.maxlen).dotVal).attr("title", this._getEllipsisVal(display, this.options.maxlen).title), this.removeSearchOption($this), this._removeValue(value), this._callback("remove", $this) | |
} | |
} else { | |
if (this.options.multiple) { | |
var selected = this._baseElem.data("selected"), | |
selected = selected ? selected : []; | |
if (-1 !== this.options.maxselect && selected.length > this.options.maxselect) | |
return void this._callback("maxerror", $this); | |
$this.addClass(this.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE), display = this._getDisplayTitle(selected), display = display ? display + "," + label : label, selected.push(obj), this._baseElem.data("selected", selected), $(this._title).text(this._getEllipsisVal(display, this.options.maxlen).dotVal).attr("title", this._getEllipsisVal(display, this.options.maxlen).title), this.createSearchOption($this), $.each(selected, function(i, item) { | |
var $dropli = base._dropdown.find(Selector.UL).find("li[data-value='" + item.label + "']"); | |
0 !== $dropli.length && $dropli.addClass(this.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE) | |
}) | |
} else { | |
var selected = []; | |
selected.push(obj), $this.addClass(this.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE), this._baseElem.data("selected", selected), $(this._title).text(this._getEllipsisVal(label, this.options.maxlen).dotVal).attr("title", this._getEllipsisVal(label, this.options.maxlen).title), $this.siblings().removeClass(this.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE), this.createSearchOption($this), this._closeItem() | |
} | |
this._setValue(value), this._callback("select", $this) | |
} | |
}, | |
_nextNode: function(elem, $first) { | |
var $next = elem && 0 !== elem.length ? elem.hasClass(ClassName.TITLE) ? this._nextNode(elem.next()) : elem.is(Selector.VISIBLE) ? elem : this._nextNode(elem.next()) : $first; | |
return $next | |
}, | |
_prevNode: function(elem, $last) { | |
var $prev = elem && 0 !== elem.length ? elem.hasClass(ClassName.TITLE) ? this._prevNode(elem.prev()) : elem.is(Selector.VISIBLE) ? elem : this._prevNode(elem.prev()) : $last; | |
return $prev | |
}, | |
_next: function(elem) { | |
var $this = $(elem), | |
$first = $this.siblings().first(), | |
$first = this._nextNode($first), | |
$next = $this.next(), | |
$next = 0 !== $next.length ? this._nextNode($next, $first) : $next, | |
selected = $next && 0 !== $next.length ? $next : $first; | |
$this.removeClass(ClassName.SELECTED), $(selected).addClass(ClassName.SELECTED).focus() | |
}, | |
_prev: function(elem) { | |
var $this = $(elem), | |
$last = $this.siblings().last(), | |
$last = this._prevNode($last), | |
$prev = $this.prev(), | |
$prev = 0 !== $prev.length ? this._prevNode($prev, $last) : $prev, | |
selected = $prev && 0 !== $prev.length ? $prev : $last; | |
$this.removeClass(ClassName.SELECTED), $(selected).addClass(ClassName.SELECTED).focus() | |
}, | |
_enter: function($li) { | |
if (this._dropdown.hasClass(ClassName.NONE)) { | |
if (this._baseElem.hasClass(ClassName.ENABLE)) | |
return !1; | |
this._dropdown.removeClass(ClassName.NONE), this._openItem() | |
} else | |
this._selectItem($li) | |
}, | |
_escape: function() { | |
this._closeItem() | |
}, | |
search: function(event) { | |
var searchFn = this.options.searchfn, | |
$input = $(event.target), | |
$li = this._dropdown.find(Selector.NOTTITLE), | |
value = $input.val(); | |
if (this.isFunction(searchFn)) | |
if (void 0 !== value && 0 !== value.length && value.length <= 25) { | |
var args = []; | |
args.unshift(this), searchFn.apply(this, args) | |
} else | |
this._dropdown.find(Selector.UL).first().show(), this._dropdown.find(Selector.UL).nextAll("[id$=sautores]").remove(); | |
else | |
$li.filter(Selector.ERROR).remove(), this._dropdown.find(Selector.LI).show(), void 0 !== value && 0 !== value.length && value.length <= 25 && (value = value.toLowerCase(), $li.each(function() { | |
if (!$(this).hasClass(ClassName.TITLE) && !$(this).hasClass(ClassName.ERROR)) { | |
var name = $(this).data("label"); | |
if (void 0 !== name && 0 !== name.length) { | |
if (name = name.toLowerCase(), name.indexOf(value) >= 0) | |
return $(this).show(), !0; | |
$(this).hide() | |
} | |
} | |
}), 0 === $li.filter(Selector.VISIBLE).length ? ($li.filter(Selector.ERROR).remove(), this._dropdown.find(Selector.GROUPLI).hide(), this._dropdown.find(Selector.UL).append($(this.options.menu).text(this.options.message).addClass(ClassName.ERROR))) : $.each(this._dropdown.find(Selector.GROUPLI), function(i, item) { | |
0 === $(item).nextUntil(Selector.TITLE).filter(Selector.VISIBLE).length && $(item).hide() | |
})), this._getPosition(), this._callback("searchCallBack", $(event.target)) | |
}, | |
_stopEvent: function(e) { | |
return e.stopPropagation(), e.preventDefault(), !1 | |
}, | |
selectAnOption: function() { | |
var base = $(this).data("selectbox"), | |
_dropdown = base._dropdown ? base._dropdown.find(Selector.LI) : void 0, | |
optVal = base.optVal, | |
selectedOption = base._baseElem.data("selected") ? base._baseElem.data("selected") : []; | |
_dropdown && optVal && (_dropdown.removeClass(base.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE), $.each(_dropdown, function(i, li) { | |
var optvalue = $(li).data("value"), | |
liData = $(li).data(); | |
optvalue === optVal && ($(li).addClass(base.options.disabled ? ClassName.HIDDEN : ClassName.ACTIVE), base.options.multiple ? selectedOption.push(liData) : selectedOption = liData, base._baseElem.find("span").text($(li).html()), base._baseElem.data("selected", selectedOption)) | |
})) | |
} | |
}, $.fn.selectBox = function(option) { | |
return this.each(function() { | |
var $this = $(this), | |
data = $this.data("selectbox"), | |
options = $.extend({}, $.fn.selectBox.defaults, $this.data(), "object" == typeof option && option); | |
if (options.item = 0 === options.item.length ? getData($this) : options.item, options.multiple = options.multiple === !1 ? $this.attr("multiple") ? !0 : !1 : options.multiple, options.val = 0 === options.val.length ? getSelectedVal($this) : options.val, data || $this.data("selectbox", data = new Selectbox(this, options)), "string" == typeof option) { | |
if (void 0 === data[option]) | |
throw new Error('No method named "' + option + '"'); | |
data[option].call(this) | |
} | |
}) | |
}; | |
var ClassName = { | |
TITLE: "ttl", | |
DROPUP: "selup", | |
DROPRIGHT: "rig0", | |
SELECTED: "sel", | |
HIDDEN: "hidd", | |
ACTIVE: "active", | |
DISABLE: "disable", | |
ENABLE: "inv", | |
ULCLASS: "maxH200", | |
NONE: "disN", | |
ERROR: "err", | |
BOX: "zrc-select-box", | |
LINE: "zrc-value zrc-selectbox", | |
SPAN: "zrc-select-value" | |
}, | |
Message = { | |
NOOPTION: "No options found" | |
}, | |
Selector = { | |
TITLE: ".ttl", | |
DROPDOWN: ".zrc-dropdown", | |
ACTIVE: ".active", | |
HIDDEN: ".hidd", | |
UL: "ul", | |
LI: "li", | |
DISPLAYSPAN: "span", | |
SELECTED: ".sel", | |
BASE: ".zrc-select-box", | |
LINE: ".zrc-selectbox", | |
SPAN: ".zrc-select-value", | |
NOTACTIVE: "li:not(.active)", | |
NOTHIDDEN: "li:not(.hidd)", | |
NOTTITLE: "li:not(.ttl)", | |
GROUPLI: "li.ttl", | |
INPUT: "input", | |
ERROR: ".err", | |
ENABLE: ".inv", | |
VISIBLE: ":visible" | |
}; | |
$.fn.selectBox.defaults = { | |
item: [], | |
val: "", | |
scroll: {}, | |
disabled: !1, | |
box: !0, | |
searchlimit: 10, | |
maxlen: 25, | |
maxselect: -1, | |
multiple: !1, | |
userCompTimeoutId: void 0, | |
searchDelay: 300, | |
type: "text", | |
placeholder: "-None-", | |
message: Message.NOOPTION, | |
menu: "<li></li>", | |
search: "<input type='search' maxlength='25' placeholder='Search'/>", | |
dropdown: "<div data-close=true class='disN zrc-dropdown'><ul class='oveA'></ul>", | |
template: "<div><span></span></div></div>" | |
}, $.fn.selectBox.Constructor = Selectbox, $(function() { | |
$("html").on("click", Selectbox.prototype.clearMenus) | |
}) | |
}(jQuery); | |
var USERDATALIST = []; | |
!function($) { | |
var Userlist = function(element, options) { | |
this._init(element, options) | |
}; | |
Userlist.prototype = { | |
constructor: Userlist, | |
_init: function(element, options) { | |
this.options = options, this.$element = $(element), this.isLoadMore = !1, this.storeUserData = storeUserData && storeUserData === !0 ? storeUserData : !1, this.keyName = "ZRUserList", this.tabList = [{ | |
Users: this.options.tabs[0] | |
}, { | |
Groups: this.options.tabs[1] | |
}], this._hasManageUserPermission(), this._create() | |
}, | |
_hasManageUserPermission: function() { | |
this.options.format = Crm && Crm.userDetails && Crm.userDetails.permissions && !Crm.userDetails.permissions.Crm_Implied_Manage_Users ? "Name" : this.options.format | |
}, | |
_getEllipsisVal: function(value, maxLen) { | |
var obj = {}, | |
dotVal = value, | |
objLen = parseInt(maxLen), | |
titleStr = ""; | |
return value && null != value && "null" != value && value.length > objLen && (dotVal = value.substring(0, objLen), dotVal += "...", titleStr = value), obj.dotVal = dotVal, obj.title = titleStr, obj | |
}, | |
_inArray: function(valArr, val) { | |
var index = -1; | |
return $.each(valArr, function(i, value) { | |
value.trim().toLowerCase() === val.trim().toLowerCase() && (index = i) | |
}), index | |
}, | |
_isDefault: function() { | |
var value = this._convertToString(this.options.val); | |
return void 0 !== value && 0 !== value.trim().length ? !0 : !1 | |
}, | |
_convertToString: function(value) { | |
return value && "number" == typeof value ? value.toString() : value | |
}, | |
_applyClass: function(elem, action) { | |
"disable" === action ? elem.addClass(ClassName.HIDDEN) : "hide" === action ? elem.addClass(ClassName.NONE) : "active" === action && elem.addClass(ClassName.ACTIVE) | |
}, | |
_getMenuItem: function(item, ulType) { | |
var menuElem = $(this.options.menu), | |
format = this.options.format, | |
value = this._convertToString(this.options.val), | |
action = this.options.action, | |
valArr = value ? value.split(";") : "", | |
obj = this._getEllipsisVal(item.fullName, this.options.maxlen), | |
secondElem = menuElem.children(); | |
if (menuElem.data("item", item).attr("data-id", this._convertToString(item.id)).attr("username", item.fullName), "group" === ulType) | |
this.options.isCustomFromAddress ? (obj = this._getEllipsisVal(item.name, this.options.maxlen), secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME).addClass(ClassName.NOPHOTO), trimEmailObj = this._getEllipsisVal(item.email, this.options.maxlen + 15), menuElem.append($("<span>").addClass(ClassName.EMAIL + ClassName.SPACE + ClassName.NOPHOTO).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title))) : (obj = this._getEllipsisVal(item.groupName, this.options.maxlen), secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME + ClassName.SPACE + ClassName.NOPHOTO + ClassName.SPACE + ClassName.NOEMAIL)), secondElem.data("item", JSON.stringify(item)); | |
else if ("tabs" === ulType) { | |
menuElem = $(this.options.tabmenu); | |
var tabName = Object.keys(item); | |
obj = this._getEllipsisVal(item[tabName], this.options.maxlen), menuElem.attr("title", obj.title).data("type", tabName[0]), menuElem.children().text(obj.dotVal) | |
} else if ("user" === ulType) { | |
var trimEmailObj, | |
noName = item && item.fullName && item.fullName.trim().length > 0 ? !1 : !0, | |
noEmail = item && item.email && item.email.trim().length > 0 ? !1 : !0, | |
extraSpc = "Email" === format || "NameEmail" === format ? 15 : 10; | |
if ("AssignRecruiter" === this.options.type && item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName || item.userStatus && "DISABLED" === item.userStatus)) | |
return !1; | |
if ("Confirmed" === this.options.type && item.hasOwnProperty("isConfirmed") && item.isConfirmed !== !0) | |
return !1; | |
if ("ActiveConfirmed" == this.options.type && (item.hasOwnProperty("isConfirmed") && item.isConfirmed !== !0 || item.hasOwnProperty("userStatus") && ("null" === item.userStatus || "ACTIVE" !== item.userStatus))) | |
return !1; | |
if ("Active" == this.options.type && (item.hasOwnProperty("userStatus") && "null" === item.userStatus || "ACTIVE" !== item.userStatus)) | |
return !1; | |
if ("EmailRelatedList" == this.options.type && item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName)) | |
return !1; | |
if ("ActiveAndDeactive" == this.options.type && "DISABLED" !== item.userStatus && "ACTIVE" !== item.userStatus) | |
return !1; | |
if ("ActivePaidProfile" === this.options.type && item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName || item.hasOwnProperty("userStatus") && ("null" === item.userStatus || "ACTIVE" !== item.userStatus))) | |
return !1; | |
if ("ActivePaidTerritory" === this.options.type && (this.options.groupUserType && "-1" !== this.options.groupUserType && item.userTerritoryId && this.options.groupUserType !== item.userTerritoryId || item.hasOwnProperty("userStatus") && "null" === item.userStatus || "ACTIVE" !== item.userStatus || item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName))) | |
return !1; | |
if ("ActiveAndRole" === this.options.type && (this.options.roleId && this.options.roleId !== item.roleId || item.hasOwnProperty("userStatus") && "null" === item.userStatus || "ACTIVE" !== item.userStatus)) | |
return !1; | |
if ("AllActiveUsers" === this.options.type && (item.userStatus && "DISABLED" !== item.userStatus && "ACTIVE" !== item.userStatus || item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName))) | |
return !1; | |
if ("DeactivePaidProfile" === this.options.type && (item.userStatus && "DISABLED" !== item.userStatus || item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName))) | |
return !1; | |
if ("DeletedPaidProfile" === this.options.type && (item.hasOwnProperty("category") && (null === item.category || "2" !== item.category && "3" !== item.category) || item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName))) | |
return !1; | |
switch (this._isDefault() && this._inArray(valArr, item.id) > -1 && this._applyClass(menuElem, action), trimEmailObj = item.email && item.email.length > 0 && ("All" === format || "Email" === format || "NameEmail" === format) ? this._getEllipsisVal(item.email, this.options.maxlen + extraSpc) : { | |
dotVal: Message.NOEMAIL, | |
title: Message.NOEMAIL | |
}, format) { | |
case "All": | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME), (noName === !0 || noEmail === !0) && menuElem.addClass(ClassName.SPACE + ClassName.HEIGHT40), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" !== this.options.type && "AllActiveUsers" !== this.options.type || "DISABLED" !== item.userStatus || menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Photo": | |
secondElem.text(obj.dotVal).attr("title", obj.title), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).addClass(ClassName.SPACE + ClassName.HEIGHT30), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Name": | |
var name = noName === !1 ? obj.dotVal : Message.NONAME; | |
secondElem.text(name).attr("title", obj.title).addClass(ClassName.NAME + ClassName.SPACE + ClassName.NOPHOTO + ClassName.SPACE + ClassName.NOEMAIL), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && secondElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Email": | |
secondElem.append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "NameEmail": | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME).addClass(ClassName.NOPHOTO), menuElem.append($("<span>").addClass(ClassName.EMAIL + ClassName.SPACE + ClassName.NOPHOTO).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
default: | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME), (noName === !0 || noEmail === !0) && menuElem.addClass(ClassName.SPACE + ClassName.HEIGHT40), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)) | |
} | |
} | |
return menuElem.attr("tabindex", "-1"), menuElem | |
}, | |
_getItem: function(list, ulType) { | |
if (list && 0 !== list.length) { | |
var base = this, | |
frag = document.createDocumentFragment(); | |
return $.each(list, function(i, opt) { | |
var li = base._getMenuItem(opt, ulType); | |
"object" == typeof li && frag.appendChild(li[0]) | |
}), frag | |
} | |
return this._noOption() | |
}, | |
_noOption: function() { | |
var frag = document.createDocumentFragment(), | |
menuElem = $(this.options.menu); | |
return menuElem.text(this.options.optionmsg).addClass(ClassName.ERROR), frag.appendChild(menuElem[0]), frag | |
}, | |
_getId: function() { | |
return this.$element[0].id && this.$element[0].id.length > 0 ? this.$element[0].id : this.$element[0].name | |
}, | |
_create: function() { | |
var action = this.options.action, | |
data = this._fetchData({ | |
group: this.options.isgroup, | |
customFromAddress: this.options.isCustomFromAddress | |
}), | |
item = data && "success" === data.message ? data.userList : [], | |
gItem = item.length > 0 && data.groupList && data.groupList.length > 0 ? data.groupList : [], | |
cItem = this.options.isCustomFromAddress && item.length > 0 && data.customFromAddressList && data.customFromAddressList.length > 0 ? data.customFromAddressList : [], | |
id = this._getId(), | |
tabIndex = this.$element[0].tabIndex, | |
tabIndex = void 0 === tabIndex ? "1" : tabIndex, | |
showGroup = gItem && 0 === gItem.length ? !1 : !0, | |
showCustomFromAddress = cItem && 0 === cItem.length ? !1 : !0; | |
gItem = showCustomFromAddress ? cItem : gItem, this.options.shownext = data && "success" === data.message ? data.showNext : !1, this.options.item = item, this._baseElem = $(this.options.template); | |
var child = this._baseElem.children(); | |
if (this._dropdown = $(child[0]), this._baseElem.attr("id", id + "-ulist").attr("tabIndex", tabIndex), this._dropdown.html(this._getItem(this.options.item, "user")), this.options.issearch && $(this._baseElem).prepend($(this.options.search).attr("id", id + "-ulistsearch").attr("placeholder", this.options.searchmsg)), (this.options.isgroup && showGroup || this.options.isCustomFromAddress && showCustomFromAddress) && (this.options.gItem = gItem, this._groupDropdown = $(this.options.group), this._groupDropdown.html(this._getItem(this.options.gItem, "group")), this._dropdown.after(this._groupDropdown), this._tabDropdown = $(this.options.tabtemplate), this._tabDropdown.html(this._getItem(this.tabList, "tabs")), this._tabDropdown.find(Selector.LI).first().find(Selector.ANCHOR).addClass(ClassName.ACTIVE), this._baseElem.prepend(this._tabDropdown).addClass(ClassName.PADDING)), $("body").append(this._baseElem), this._bindEvent(), this._isDefault()) { | |
var $liElem = this._dropdown.find(Selector.LI), | |
$li = $liElem.filter("disable" === action ? Selector.HIDDEN : "hide" === action ? Selector.NONE : Selector.ACTIVE), | |
selected = []; | |
$.each($li, function(i, elem) { | |
var item = $(elem).data("item"); | |
selected.push({ | |
id: item.id, | |
item: item | |
}) | |
}), this._baseElem.data("selected", selected), this._applyClassForGroupOfUser() | |
} | |
this.options.shownext && this._scroll(), this._callback("create") | |
}, | |
_getPosition: function() { | |
var $this = this.$element, | |
$drop = $(this._dropdown), | |
$dropdownParent = this.options.parent, | |
elemPos = $this.offset(), | |
elemHt = $this.innerHeight(), | |
elemOht = $this.outerHeight(); | |
dropDownHt = $drop.outerHeight(), dropDownWd = $drop.outerWidth(), windHt = window.innerHeight, windWd = window.innerWidth, scrollHeight = $(window).scrollTop(); | |
var css = { | |
top: elemPos.top + elemOht, | |
left: elemPos.left | |
}; | |
if (void 0 !== $dropdownParent && 0 !== $dropdownParent.length) { | |
var parentPos = $dropdownParent.offset(); | |
css.top -= parentPos.top | |
} | |
elemHt + elemPos.top + dropDownHt > windHt + scrollHeight && (css.top = elemPos.top - dropDownHt), elemPos.left + dropDownWd > windWd && (css.left = elemPos.left - dropDownWd), this._baseElem.css({ | |
top: css.top + "px", | |
left: css.left + "px" | |
}) | |
}, | |
_fetchData: function(dataObj) { | |
var data = [], | |
base = this, | |
forceFetch = this.options.forcefetch, | |
searchVal = dataObj.search, | |
ids = dataObj.ids, | |
isGroup = this.storeUserData ? !0 : dataObj.group ? dataObj.group : !1, | |
isCustomFromAddress = this.storeUserData ? !0 : dataObj.customFromAddress ? dataObj.customFromAddress : !1, | |
isdefault = dataObj.hasOwnProperty("isdefault") ? dataObj.isdefault : !0, | |
fetchUserInfo = dataObj.hasOwnProperty("fetchUserInfo") ? dataObj.fetchUserInfo : !1; | |
if (!base.isLoadMore) { | |
base.isLoadMore = !0; | |
var urlData = "type=" + (this.storeUserData && !forceFetch ? "All" : this.options.type) + "&format=" + this.options.format + "&to=" + (this.storeUserData ? 250 : this.options.to) + "&fetchGroupInfo=" + isGroup + "&fetchCustomFromAddressInfo=" + isCustomFromAddress + "&fetchUserInfo=" + fetchUserInfo, | |
fromIndex = base.options.from; | |
searchVal && 0 !== searchVal.length && (urlData = urlData + "&searchtxt=" + searchVal, fromIndex = 1), this._isDefault() && isdefault && (urlData = urlData + "&id=" + this._convertToString(this.options.val)), ids && 0 !== ids.length && (urlData = urlData + "&id=" + ids), "ActivePaidTerritory" === this.options.type && this.options.territoryId && (urlData += "&territoryId=" + this.options.territoryId), "ActiveAndRole" === this.options.type && this.options.roleId && (urlData += "&roleId=" + this.options.roleId), urlData = urlData + "&from=" + fromIndex, data = this.storeUserData && !forceFetch ? base._getStoredData() : [], data = data && "string" == typeof data ? JSON.parse(data) : [], 0 === data.length && $.ajax({ | |
type: "GET", | |
url: "/recruit/getUserList.do", | |
dataType: "json", | |
async: !1, | |
data: urlData, | |
beforeSend: function() { | |
Utils.showHideLoadingDiv(!0) | |
}, | |
success: function(resp) { | |
base.isLoadMore = !1, data = resp, base.storeUserData && !forceFetch && base._storeData(JSON.stringify(resp)) | |
}, | |
error: function() { | |
data = [{ | |
error: "FAILURE", | |
message: Message.ERROR, | |
item: [] | |
}] | |
}, | |
complete: function() { | |
Utils.showHideLoadingDiv(!1) | |
} | |
}) | |
} | |
return data | |
}, | |
_storeData: function(value) { | |
USERDATALIST[this.keyName] = value | |
}, | |
_getStoredData: function() { | |
var value = null; | |
return value = USERDATALIST[this.keyName] | |
}, | |
_bindEvent: function() { | |
var base = this; | |
this._baseElem.on("click.ulistdrop", function(event) { | |
var tgt = $(event.target); | |
if (tgt.is("li") || tgt.parent().is("li") || tgt.is("img")) { | |
var elem = tgt.is("li") ? event.target : tgt.is("img") ? tgt.parents("li")[0] : $(tgt.parent())[0], | |
type = $(elem).data("type"); | |
!type || "Users" !== type && "Groups" !== type ? (base._select(elem), base.options.multiple === !0 && base._stopEvent(event)) : base._changeTabMenu($(elem), type) | |
} else if (tgt.is("input")) | |
base._stopEvent(event); | |
else if (tgt.parent().is(Selector.TABBASE)) { | |
var elem = tgt.is("li") ? event.target : $(tgt.parent())[0], | |
type = elem.data("type"); | |
base._tabDropdown.find(Selector.ACTIVE).removeClass(ClassName.ACTIVE), "Users" === type ? (base._dropdown.removeClass(ClassName.NONE), base._groupDropdown.addClass(ClassName.NONE)) : "Groups" === type && (base._dropdown.addClass(ClassName.NONE), base._groupDropdown.removeClass(ClassName.NONE)), elem.find("a").addClass(ClassName.ACTIVE), base._stopEvent(event) | |
} | |
}).on("keydown.ulistdropkey", function(event) { | |
var tgt = $(event.target), | |
$ul = base._baseElem.find(Selector.NOTABUL), | |
$drop = $ul.filter(Selector.VISIBLE).find(Selector.LI); | |
base._keyPress($drop, tgt, event) | |
}).on("keyup.ulistinputkey", function(event) { | |
var tgt = $(event.target); | |
tgt.is("input") && (base.storeUserData === !1 && -1 === $.inArray(event.keyCode, base.options.keyCodeList) ? (clearTimeout(base.options.userCompTimeoutId), base.options.userCompTimeoutId = setTimeout(function() { | |
base._search(tgt, event) | |
}, base.options.searchDelay)) : base._search(tgt, event), base._setFocus()) | |
}).on("mouseover", function(event) { | |
var tgt = $(event.target); | |
tgt.hasClass("ulist-deactivated-user") && zctt.showtt(I18n.getMsg("DeactiveUser"), void 0, void 0, void 0, "false") | |
}).on("mouseout", function(event) { | |
var tgt = $(event.target); | |
tgt.hasClass("ulist-deactivated-user") && zctt.hidett(!0) | |
}) | |
}, | |
_keyPress: function($li, elem, event) { | |
var base = this; | |
switch (event.keyCode) { | |
case 40: | |
base._next($li); | |
break; | |
case 38: | |
base._prev($li); | |
break; | |
case 32: | |
case 13: | |
elem.is("input") || base._enter($li.filter(Selector.SELECTED)); | |
break; | |
case 27: | |
base._escape() | |
} | |
}, | |
_nextNode: function(elem, $first) { | |
var $next = elem && 0 !== elem.length ? elem.is(Selector.VISIBLE) ? elem : this._nextNode(elem.next()) : $first; | |
return $next | |
}, | |
_next: function(elem) { | |
var $this = $(elem), | |
$first = $this.eq(0), | |
$next = this._nextNode($this.filter(Selector.SELECTED).next(), $first), | |
selected = $next && 0 !== $next.length ? $next : $first; | |
$this.removeClass(ClassName.SELECTED), $(selected).addClass(ClassName.SELECTED).focus(), this._callback("next", $(selected)) | |
}, | |
_prevNode: function(elem, $last) { | |
var $next = elem && 0 !== elem.length ? elem.is(Selector.VISIBLE) ? elem : this._prevNode(elem.prev()) : $last; | |
return $next | |
}, | |
_prev: function(elem) { | |
var $this = $(elem), | |
len = $this.length, | |
$last = $this.eq(len - 1), | |
$prev = this._prevNode($this.filter(Selector.SELECTED).prev(), $last), | |
selected = $prev && 0 !== $prev.length ? $prev : $last; | |
$this.removeClass(ClassName.SELECTED), $(selected).addClass(ClassName.SELECTED).focus(), this._callback("prev", $(selected)) | |
}, | |
_enter: function($li) { | |
this._baseElem.hasClass(ClassName.NONE) ? this._openItem() : this._select($li) | |
}, | |
_escape: function() { | |
this._closeItem() | |
}, | |
_search: function(tgt, event) { | |
var showNext = this.options.shownext, | |
base = this, | |
searchVal = tgt.val(), | |
action = this.options.action, | |
selTab = base._tabDropdown ? base._tabDropdown.find(Selector.ACTIVE).parent().data("type") : "", | |
noOption = this._noOption(), | |
id = this._getId(), | |
selected = this._baseElem.data("selected"), | |
$dropUl = selTab.length > 0 && "Groups" === selTab ? base._groupDropdown : base._dropdown, | |
$li = $dropUl.find(Selector.LI); | |
if ($li.filter(Selector.ERROR).remove(), void 0 !== searchVal && searchVal.length >= base.options.minlength) { | |
if (searchVal = searchVal.toLowerCase(), searchVal.length <= 25) | |
if (showNext && "Groups" !== selTab) { | |
$("#" + id + "-uautores").remove(), this._dropdown.addClass(ClassName.NONE); | |
var data = this._fetchData({ | |
search: searchVal | |
}), | |
item = data && "success" === data.message ? data.userList : [], | |
searchUl = this._dropdown.clone().html(this._getItem(item, "user")); | |
this._dropdown.after(searchUl.attr("id", id + "-uautores").show()), selected && 0 !== selected.length && $.each(selected, function(i, item) { | |
var $dropli = base._baseElem.find(Selector.UL).next().find("li[data-id='" + item.id + "']"); | |
0 !== $dropli.length && base._applyClass($dropli, action) | |
}) | |
} else | |
$.each($li, function(i, item) { | |
var data = $(item).text(), | |
data = data && 0 !== data.length ? data.toLowerCase() : data; | |
data.indexOf(searchVal) > -1 ? $(item).show() : $(item).hide() | |
}), 0 === $li.filter(Selector.VISIBLE).length && ($li.filter(Selector.ERROR).remove(), $dropUl.append(noOption)) | |
} else | |
$dropUl.find(Selector.LI).removeAttr(Selector.STYLE), 0 === $dropUl.find(Selector.LI).filter(Selector.VISIBLE).length ? $dropUl.append(noOption) : $li.filter(Selector.ERROR).remove(), showNext && ($("#" + id + "-uautores").remove(), $dropUl.removeClass(ClassName.NONE)); | |
this._getPosition(), this._callback("search"), this._stopEvent(event) | |
}, | |
_scroll: function() { | |
var base = this; | |
this._dropdown.unbind("scroll").bind("scroll", function() { | |
{ | |
var $this = $(this), | |
height = this.scrollHeight - $this.height(), | |
scroll = $this.scrollTop(), | |
isScrolledToEnd = scroll >= height - 50, | |
newItem = []; | |
base._baseElem.find(Selector.INPUT).val() | |
} | |
if (isScrolledToEnd && base.options.shownext) { | |
base.options.from = parseInt(base.options.from) + parseInt(base.options.to); | |
var data = base._fetchData({ | |
group: !1, | |
isdefault: !1 | |
}), | |
item = data && "success" === data.message ? data.userList : [], | |
selected = base._baseElem.data("selected"), | |
selected = selected ? selected : []; | |
0 !== selected.length ? $.each(item, function(i, liItem) { | |
var userIdNotPresent = !0; | |
$.each(selected, function(j, selUserObj) { | |
return liItem.id === base._convertToString(selUserObj.id) ? (userIdNotPresent = !1, !1) : void 0 | |
}), userIdNotPresent && newItem.push(liItem) | |
}) : newItem = item, base.options.shownext = data && "success" === data.message ? data.showNext : !1, base._dropdown.append(base._getItem(newItem, "user")), base._callback("scroll") | |
} | |
}) | |
}, | |
_select: function(tgt) { | |
{ | |
var $this = $(tgt), | |
base = this, | |
item = $this.data(); | |
base.options.action | |
} | |
if (!($this.hasClass(ClassName.ACTIVE) || $this.hasClass(ClassName.HIDDEN) || $this.hasClass(ClassName.NONE) || $this.hasClass(ClassName.ERROR))) { | |
if (base.options.multiple) { | |
var selected = base._baseElem.data("selected"), | |
selected = selected ? selected : [], | |
associatedUsers = (selected.length, item && item.item && item.item.hasOwnProperty("associatedUsers") ? item.item.associatedUsers : []); | |
if (base._maxSelectCheck(selected.length)) | |
return base._callback("maxerror"), void base._closeItem(); | |
if (associatedUsers.length > 0) { | |
if (selected.length > 0) { | |
var unselectedUserIds = []; | |
$.each(associatedUsers, function(i, assuserId) { | |
var userIdNotPresent = !0; | |
$.each(selected, function(i, selUserObj) { | |
return base._convertToString(selUserObj.id) === assuserId ? (userIdNotPresent = !1, !1) : void 0 | |
}), userIdNotPresent && unselectedUserIds.push(assuserId) | |
}), associatedUsers = unselectedUserIds | |
} | |
base._addUserIdToSelectedArray(associatedUsers, selected) | |
} else { | |
var userIdNotPresent = !0; | |
$.each(selected, function(i, selUserObj) { | |
return base._convertToString(selUserObj.id) === item.id ? (userIdNotPresent = !1, !1) : void 0 | |
}), userIdNotPresent && (base._addMenuIfNotPresent(tgt, item), selected.push(item)) | |
} | |
} else { | |
base._dropdown.find(Selector.LI).removeClass(ClassName.ACTIVE); | |
var selected = []; | |
this.options.isCustomFromAddress ? base._groupDropdown && base._groupDropdown.find(Selector.LI).removeClass(ClassName.ACTIVE) : base._addMenuIfNotPresent(tgt, item), selected.push(item), base._closeItem() | |
} | |
base._baseElem.data("selected", selected), base._applyClassForGroupOfUser(), base._setFocus(), base._getPosition(), base._callback("select", $this) | |
} | |
}, | |
_addMenuIfNotPresent: function(li, item) { | |
var base = this, | |
$li = $(li), | |
newLiMenu = [], | |
selId = base._convertToString($li.data("id")), | |
ispresent = selId.length > 0 && base._dropdown.find("li[data-id=" + selId + "]").length > 0 ? !0 : !1; | |
ispresent === !1 && item && item.item && (newLiMenu.push(item.item), base._dropdown.prepend(base._getItem(newLiMenu, "user"))) | |
}, | |
_addUserIdToSelectedArray: function(associatedUsers, selected) { | |
var base = this, | |
maxCheckCount = selected.length, | |
userIdNotPresentArray = []; | |
if ($.each(associatedUsers, function(j, asUserId) { | |
var userIdNotPresent = !0; | |
base._dropdown.find(Selector.LI).each(function(k, userList) { | |
var data = $(userList).data(); | |
return data.id = base._convertToString(data.id), asUserId !== data.id || base._maxSelectCheck(maxCheckCount) ? void 0 : (selected.push(data), userIdNotPresent = !1, !1) | |
}), userIdNotPresent && (base._maxSelectCheck(maxCheckCount) || userIdNotPresentArray.push(asUserId)), maxCheckCount++ | |
}), userIdNotPresentArray.length > 0) { | |
var data = base._fetchData({ | |
ids: userIdNotPresentArray.join(";"), | |
group: !1, | |
fetchUserInfo: !0, | |
isdefault: !1 | |
}), | |
item = data && "success" === data.message ? data.userList : [], | |
newUserIdArray = []; | |
$.each(item, function(j, userObj) { | |
newUserIdArray.push({ | |
id: userObj.id, | |
item: userObj | |
}) | |
}), newUserIdArray.length > 0 && ($.merge(selected, newUserIdArray), base._dropdown.append(base._getItem(item, "user"))) | |
} | |
}, | |
_maxSelectCheck: function(itemSize) { | |
var base = this; | |
return -1 !== base.options.maxselect && itemSize + 1 > base.options.maxselect ? !0 : !1 | |
}, | |
_applyClassForGroupOfUser: function() { | |
var base = this, | |
action = base.options.action, | |
selected = base._baseElem.data("selected"), | |
selected = selected ? selected : [], | |
id = (base._noOption(), action === ClassName.ACTIVE ? ClassName.ACTIVE : "hide" === action ? ClassName.NONE : ClassName.HIDDEN, base._getId()), | |
searchDropdown = $("#" + id + "-uautores"); | |
$.each(base._dropdown.find(Selector.LINOERROR), function(i, li) { | |
var liId = $(li).data("id"); | |
$.each(selected, function(j, userObj) { | |
return userObj.id === liId ? (base._applyClass($(li), action), !1) : void 0 | |
}) | |
}), searchDropdown.length && $.each(searchDropdown.find(Selector.LINOERROR), function(i, li) { | |
var liId = $(li).data("id"); | |
$.each(selected, function(j, userObj) { | |
return userObj.id === liId ? (base._applyClass($(li), action), !1) : void 0 | |
}) | |
}), base._groupDropdown && (this.options.isCustomFromAddress ? $.each(base._groupDropdown.find(Selector.LINOERROR), function(i, li) { | |
var liId = $(li).data("id"); | |
$.each(selected, function(j, userObj) { | |
return userObj.id === liId ? (base._applyClass($(li), action), !1) : void 0 | |
}) | |
}) : $.each(base._groupDropdown.find(Selector.LINOERROR), function(i, gli) { | |
var item = $(gli).data("item"), | |
associatedUsers = item.hasOwnProperty("associatedUsers") ? item.associatedUsers : [], | |
associatedUsersCount = associatedUsers.length, | |
userCount = 0; | |
$.each(selected, function(j, userObj) { | |
$.each(associatedUsers, function(j, asUserId) { | |
return userObj.id === asUserId ? (userCount++, !1) : void 0 | |
}) | |
}), userCount === associatedUsersCount && base._applyClass($(gli), action) | |
})), base._emptyLiCheck() | |
}, | |
_changeTabMenu: function($this, type) { | |
var base = this, | |
searchStr = base._baseElem.find(Selector.INPUT).val(); | |
switch (base._clearSearch(), searchStr.length > 0 && base._search(base._baseElem.find(Selector.INPUT), event), base._tabDropdown.find(Selector.ANCHOR).removeClass(ClassName.ACTIVE), $this.find(Selector.ANCHOR).addClass(ClassName.ACTIVE), type) { | |
case "Users": | |
base._groupDropdown.addClass(ClassName.NONE), base._dropdown.removeClass(ClassName.NONE); | |
break; | |
case "Groups": | |
base._dropdown.addClass(ClassName.NONE), base._groupDropdown.removeClass(ClassName.NONE) | |
} | |
base._emptyLiCheck(), base._setFocus(), base._getPosition(), base._stopEvent(event) | |
}, | |
_reapplyClass: function(deleteUserId) { | |
var base = this, | |
action = base.options.action, | |
selectorName = (base._baseElem.data("selected"), action === ClassName.ACTIVE ? ClassName.ACTIVE : "hide" === action ? ClassName.NONE : ClassName.HIDDEN), | |
className = action === ClassName.ACTIVE ? Selector.ACTIVE : "hide" === action ? Selector.NONE : Selector.HIDDEN, | |
id = base._getId(), | |
searchDropdown = $("#" + id + "-uautores"); | |
$.each(base._dropdown.find(className), function(i, li) { | |
var liId = base._convertToString($(li).data("id")); | |
return liId === deleteUserId ? ($(li).removeClass(selectorName).removeClass(ClassName.SELECTED), !1) : void 0 | |
}), searchDropdown.length && $.each(searchDropdown.find(className), function(i, li) { | |
var liId = base._convertToString($(li).data("id")); | |
return liId === deleteUserId ? ($(li).removeClass(selectorName).removeClass(ClassName.SELECTED), !1) : void 0 | |
}), base._groupDropdown && $.each(base._groupDropdown.find(className), function(i, gli) { | |
var item = $(gli).data("item"), | |
associatedUsers = item.hasOwnProperty("associatedUsers") ? item.associatedUsers : [], | |
matchCount = 0; | |
$.each(associatedUsers, function(j, userId) { | |
return deleteUserId === userId ? (matchCount++, !1) : void 0 | |
}), matchCount > 0 && $(gli).removeClass(selectorName).removeClass(ClassName.SELECTED) | |
}), base._emptyLiCheck() | |
}, | |
_emptyLiCheck: function() { | |
var base = this, | |
action = base.options.action, | |
searchDropdown = $("#" + base._getId() + "-uautores"); | |
if (base._groupDropdown) { | |
var $grpLi = base._groupDropdown.find(Selector.LI); | |
$grpLi.filter(Selector.ERROR).remove(), "hide" === action && 0 === $grpLi.filter(Selector.VISIBLE).length && base._groupDropdown.append(base._noOption()) | |
} | |
var $userLi = base._dropdown.find(Selector.LI); | |
if ($userLi.filter(Selector.ERROR).remove(), "hide" === action && 0 === $userLi.filter(Selector.VISIBLE).length && base._dropdown.append(base._noOption()), searchDropdown.length) { | |
var $searchLi = searchDropdown.find(Selector.LI); | |
$searchLi.filter(Selector.ERROR).remove(), "hide" === action && 0 === $searchLi.filter(Selector.VISIBLE).length && searchDropdown.append(base._noOption()) | |
} | |
}, | |
isFunction: function(fn) { | |
return "function" == typeof fn ? !0 : !1 | |
}, | |
_callback: function(type, curElem) { | |
var callback = this.options.callback; | |
this.isFunction(callback) && callback(type, this, curElem) | |
}, | |
toggle: function() { | |
this._baseElem.hasClass(ClassName.NONE) ? this._openItem() : this._closeItem() | |
}, | |
_clearSearch: function() { | |
var base = this, | |
searchDropDown = $("#" + base._getId() + "-uautores"), | |
tabName = base._baseElem.find(Selector.TABBASE).find(Selector.ACTIVE).parent().data("type"); | |
base._baseElem.find(Selector.INPUT).val(""), searchDropDown && searchDropDown.remove(), base._groupDropdown && "Groups" === tabName ? base._groupDropdown.find(Selector.LI).removeAttr(Selector.STYLE) : base._dropdown.removeClass(ClassName.NONE).find(Selector.LI).removeAttr(Selector.STYLE) | |
}, | |
_openItem: function() { | |
this._clearSearch(), this._baseElem.removeClass(ClassName.NONE), this._getPosition(); | |
var selected = (this.options.action, this._baseElem.data("selected")), | |
$parent = (this._noOption(), this._baseElem), | |
$input = $parent.find(Selector.INPUT), | |
$li = this._dropdown.find(Selector.LI), | |
$hidd = $li.filter(Selector.HIDDEN), | |
$active = $li.filter(Selector.ACTIVE), | |
$none = $li.filter(Selector.NONE), | |
first = $li[0], | |
selected = 0 !== $hidd.length ? $hidd[0] : 0 !== $active.length ? $active[0] : 0 !== $none.length ? $none[0] : first; | |
$li.removeClass(ClassName.SELECTED), 0 !== $li.filter(Selector.VISIBLE).length && $(selected).addClass(ClassName.SELECTED).focus(), 0 !== $input.length ? $input.focus() : this._baseElem.focus(), $("#recDetail").is(":visible") && $("#preHTMLContainer_Leads").css({ | |
overflow: "hidden" | |
}), this._emptyLiCheck(), this._callback("open"), this._setFocus() | |
}, | |
_setFocus: function() { | |
var $input = this._baseElem.find(Selector.INPUT), | |
$ul = this._baseElem.find(Selector.NOTABUL), | |
$li = $ul.filter(Selector.VISIBLE).find(Selector.LI), | |
$hidd = $li.filter(Selector.HIDDEN), | |
$active = $li.filter(Selector.ACTIVE), | |
$none = $li.filter(Selector.NONE), | |
first = $li[0], | |
selected = 0 !== $hidd.length ? $hidd[0] : 0 !== $active.length ? $active[0] : 0 !== $none.length ? $none[0] : first; | |
0 !== $input.length ? $input.focus() : $(selected).focus() | |
}, | |
_closeItem: function() { | |
this._baseElem.addClass(ClassName.NONE), this._callback("close") | |
}, | |
open: function() { | |
var base = $(this).data("userlist"); | |
base._openItem() | |
}, | |
close: function() { | |
var base = $(this).data("userlist"); | |
base._closeItem(), $("#recDetail").is(":visible") && $("#preHTMLContainer_Leads").css({ | |
overflow: "" | |
}) | |
}, | |
remove: function() { | |
var base = $(this).data("userlist"), | |
deleteUserId = base.deleteId ? base._convertToString(base.deleteId) : "", | |
selected = base._baseElem.data("selected"), | |
selected = selected ? selected : []; | |
0 !== deleteUserId.length && 0 !== selected.length && (base._reapplyClass(deleteUserId), $.each(selected, function(i, selUserObj) { | |
return base._convertToString(selUserObj.id) === deleteUserId ? (selected.splice(i, 1), base._baseElem.data("selected", selected), !1) : void 0 | |
})), base._setFocus(), base._stopEvent(event) | |
}, | |
destroy: function() { | |
var base = $(this).data("userlist"); | |
base._baseElem.remove(), base._dropdown.remove(), $(this).removeData("userlist") | |
}, | |
position: function() { | |
var base = $(this).data("userlist"); | |
base._getPosition() | |
}, | |
clearMenus: function(event) { | |
var tgt = $(event.target); | |
tgt.not(Selector.BASE) && tgt.parent().parent().not(Selector.BASE) && $(Selector.BASE).addClass(ClassName.NONE) | |
}, | |
_stopEvent: function(e) { | |
return e.stopPropagation(), e.preventDefault(), !1 | |
} | |
}, $.fn.userList = function(option) { | |
return this.each(function() { | |
var $this = $(this), | |
data = $this.data("userlist"), | |
options = $.extend({}, $.fn.userList.defaults, $this.data(), "object" == typeof option && option); | |
if (!data) { | |
var $id = $("#" + $this.attr("id") + "-ulist"); | |
$id.length ? $id.remove() : "", "object" == typeof option && $this.data("userlist", data = new Userlist(this, options)) | |
} | |
if ("string" == typeof option) { | |
if (data && void 0 === data[option]) | |
throw new Error('No method named "' + option + '"'); | |
data && "function" == typeof data[option] && data[option].call(this) | |
} | |
}) | |
}; | |
var ClassName = { | |
SPACE: " ", | |
PADDING: "padT0", | |
IMGSPAN: "zrc-pic32", | |
IMG: "zrc-pic", | |
EMAIL: "email", | |
NAME: "name", | |
NOPHOTO: "padL10", | |
NOEMAIL: "disIB hei30 linH30", | |
HEIGHT30: "hei30 linH30", | |
HIDDEN: "hidd", | |
ACTIVE: "active", | |
ENABLE: "inv", | |
SELECTED: "sel", | |
NONE: "disN", | |
HEIGHT40: "hei40", | |
ERROR: "err", | |
DEACTIVEUSERCLASS: "icon-cand-disq ulist-deactivated-user posA rig15 top15" | |
}, | |
Selector = { | |
ACTIVE: ".active", | |
HIDDEN: ".hidd", | |
BASE: ".zrc-profile-list chk", | |
TABBASE: ".zrc-line-tab", | |
LI: "li", | |
UL: "ul", | |
NOTABUL: "ul:not(.zrc-line-tab)", | |
STYLE: "style", | |
ANCHOR: "a", | |
INPUT: "input", | |
SELECTED: ".sel", | |
NONE: ".disN", | |
ERROR: ".err", | |
LINONE: "li:not(.disN)", | |
LINOERROR: "li:not(.err)", | |
VISIBLE: ":visible" | |
}, | |
Message = { | |
NOOPTION: I18n.getMsg("crm.label.no.options.found"), | |
NONAME: I18n.getMsg("zr.user.component.no.name"), | |
NOEMAIL: I18n.getMsg("zr.user.component.no.email"), | |
ERROR: I18n.getMsg("crm.security.error.add.user"), | |
SEARCH: I18n.getMsg("crm.globalsearch.search.title"), | |
GROUPS: I18n.getMsg("crm.security.groups"), | |
USERS: I18n.getMsg("crm.security.users") | |
}; | |
$.fn.userList.defaults = { | |
issearch: !1, | |
isgroup: !1, | |
isCustomFromAddress: !1, | |
forcefetch: !1, | |
to: 250, | |
from: 1, | |
maxlen: 25, | |
minlength: 3, | |
multiple: !1, | |
maxselect: -1, | |
action: "active", | |
val: "", | |
searchDelay: 300, | |
keyCodeList: [9, 16, 17, 18, 19, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 91, 92, 93, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 144, 145], | |
userCompTimeoutId: void 0, | |
optionmsg: Message.NOOPTION, | |
searchmsg: Message.SEARCH, | |
tabs: [Message.USERS, Message.GROUPS], | |
format: "All", | |
type: "Active", | |
tabtemplate: "<ul class='zrc-line-tab padL20'></ul>", | |
tabmenu: "<li style='padding-left:0; border-bottom-width:0;padding-bottom:0;'><a href='javascript:;'></a></li>", | |
menu: "<li><span></span></li>", | |
search: "<input type='search' maxlength='25'/>", | |
group: "<ul class='disN oveA maxH250 widP100 mar0 pad0'></ul>", | |
template: "<div class='disN zrc-profile-list chk wid350'><ul class='oveA maxH250 widP100 mar0 pad0' data-zcqa='zruserlist-userlookup'></ul></div>" | |
}, $.fn.userList.Constructor = Userlist, $(function() { | |
$("html").on("click", Userlist.prototype.clearMenus) | |
}) | |
}(jQuery), function($) { | |
var InterviewerList = function(element, options) { | |
this._init(element, options) | |
}; | |
InterviewerList.prototype = { | |
constructor: InterviewerList, | |
_init: function(element, options) { | |
this.options = options, this.$element = $(element), this.isLoadMore = !1, this.isLoadContactsMore = !1, this.storeUserData = storeUserData && storeUserData === !0 ? storeUserData : !1, this.storeContactData = !1, this.tabList = [{ | |
Users: this.options.tabs[0] | |
}], this.options.isgroup ? this.tabList.push({ | |
Groups: this.options.tabs[1] | |
}) : this.options.iscontacts && this.tabList.push({ | |
Contacts: this.options.tabs[2] | |
}), this._hasManageUserPermission(), this._create() | |
}, | |
_hasManageUserPermission: function() { | |
this.options.format = Crm && Crm.userDetails && Crm.userDetails.permissions && !Crm.userDetails.permissions.Crm_Implied_Manage_Users ? "Name" : this.options.format, this.options.contactFormat = isClientUser && Crm && Crm.userDetails && Crm.userDetails.ROLE_CATEGORY && Crm.userDetails.ROLE_CATEGORY === crmConstants.CLIENT_INTERVIEWER_CATEGORY ? "Name" : this.options.contactFormat | |
}, | |
_getEllipsisVal: function(value, maxLen) { | |
var obj = {}, | |
dotVal = value, | |
objLen = parseInt(maxLen), | |
titleStr = ""; | |
return value && null != value && "null" != value && value.length > objLen && (dotVal = value.substring(0, objLen), dotVal += "...", titleStr = value), obj.dotVal = dotVal, obj.title = titleStr, obj | |
}, | |
_inArray: function(valArr, val) { | |
var index = -1; | |
return $.each(valArr, function(i, value) { | |
value.trim().toLowerCase() === val.trim().toLowerCase() && (index = i) | |
}), index | |
}, | |
_isDefault: function() { | |
var value = this._convertToString(this.options.val); | |
return void 0 !== value && 0 !== value.trim().length ? !0 : !1 | |
}, | |
_convertToString: function(value) { | |
return value && "number" == typeof value ? value.toString() : value | |
}, | |
_applyClass: function(elem, action) { | |
"disable" === action ? elem.addClass(ClassName.HIDDEN) : "hide" === action ? (elem.prevAll("li").not(".disN").first().hasClass("hdng") && (elem.next().hasClass("hdng") || 0 == elem.next().length) && elem.prevAll("li").not(".disN").first().addClass(ClassName.NONE), elem.addClass(ClassName.NONE)) : "active" === action && elem.addClass(ClassName.ACTIVE) | |
}, | |
_getMenuItem: function(item, ulType) { | |
var menuElem = $(this.options.menu), | |
format = this.options.format, | |
value = this._convertToString(this.options.val), | |
action = this.options.action, | |
valArr = value ? value.split(";") : "", | |
obj = this._getEllipsisVal(item.fullName, this.options.maxlen), | |
secondElem = menuElem.children(); | |
if ("contact" === ulType ? menuElem.data("item", item).attr("data-id", this._convertToString(item.id)).attr("contactname", item.fullName).attr("data-type", "contact") : menuElem.data("item", item).attr("data-id", this._convertToString(item.id)).attr("username", item.fullName), "group" === ulType) | |
this.options.isCustomFromAddress ? (obj = this._getEllipsisVal(item.name, this.options.maxlen), secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME).addClass(ClassName.NOPHOTO), trimEmailObj = this._getEllipsisVal(item.email, this.options.maxlen + 15), menuElem.append($("<span>").addClass(ClassName.EMAIL + ClassName.SPACE + ClassName.NOPHOTO).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title))) : (obj = this._getEllipsisVal(item.groupName, this.options.maxlen), secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME + ClassName.SPACE + ClassName.NOPHOTO + ClassName.SPACE + ClassName.NOEMAIL)), secondElem.data("item", JSON.stringify(item)); | |
else if ("tabs" === ulType) { | |
menuElem = $(this.options.tabmenu); | |
var tabName = Object.keys(item); | |
obj = this._getEllipsisVal(item[tabName], this.options.maxlen), menuElem.attr("title", obj.title).data("type", tabName[0]), menuElem.children().text(obj.dotVal) | |
} else if ("user" === ulType) { | |
var trimEmailObj, | |
noName = item && item.fullName && item.fullName.trim().length > 0 ? !1 : !0, | |
noEmail = item && item.email && item.email.trim().length > 0 ? !1 : !0, | |
extraSpc = "Email" === format || "NameEmail" === format ? 15 : 10; | |
if ("AssignRecruiter" === this.options.type && item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName || item.userStatus && "DISABLED" === item.userStatus)) | |
return !1; | |
if ("Confirmed" === this.options.type && item.hasOwnProperty("isConfirmed") && item.isConfirmed !== !0) | |
return !1; | |
if ("ActiveConfirmed" == this.options.type && (item.hasOwnProperty("isConfirmed") && item.isConfirmed !== !0 || item.hasOwnProperty("userStatus") && ("null" === item.userStatus || "ACTIVE" !== item.userStatus))) | |
return !1; | |
if ("Active" == this.options.type && (item.hasOwnProperty("userStatus") && "null" === item.userStatus || "ACTIVE" !== item.userStatus)) | |
return !1; | |
if ("EmailRelatedList" == this.options.type && item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName)) | |
return !1; | |
if ("ActiveAndDeactive" == this.options.type && item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName || "DISABLED" !== item.userStatus && "ACTIVE" !== item.userStatus)) | |
return !1; | |
if ("ActivePaidProfile" === this.options.type && item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName || item.hasOwnProperty("userStatus") && ("null" === item.userStatus || "ACTIVE" !== item.userStatus))) | |
return !1; | |
if ("ActivePaidTerritory" === this.options.type && (this.options.groupUserType && "-1" !== this.options.groupUserType && item.userTerritoryId && this.options.groupUserType !== item.userTerritoryId || item.hasOwnProperty("userStatus") && "null" === item.userStatus || "ACTIVE" !== item.userStatus || item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName))) | |
return !1; | |
if ("ActiveAndRole" === this.options.type && (this.options.roleId && this.options.roleId !== item.roleId || item.hasOwnProperty("userStatus") && "null" === item.userStatus || "ACTIVE" !== item.userStatus)) | |
return !1; | |
if ("AllActiveUsers" === this.options.type && (item.userStatus && "DISABLED" !== item.userStatus && "ACTIVE" !== item.userStatus || item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName))) | |
return !1; | |
if ("DeactivePaidProfile" === this.options.type && (item.userStatus && "DISABLED" !== item.userStatus || item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName))) | |
return !1; | |
if ("DeletedPaidProfile" === this.options.type && (item.hasOwnProperty("category") && (null === item.category || "2" !== item.category && "3" !== item.category) || item.profileName && ("Interviewer" === item.profileName || "Guest" === item.profileName))) | |
return !1; | |
switch (this._isDefault() && this._inArray(valArr, item.id) > -1 && this._applyClass(menuElem, action), trimEmailObj = item.email && item.email.length > 0 && ("All" === format || "Email" === format || "NameEmail" === format) ? this._getEllipsisVal(item.email, this.options.maxlen + extraSpc) : { | |
dotVal: Message.NOEMAIL, | |
title: Message.NOEMAIL | |
}, format) { | |
case "All": | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME), (noName === !0 || noEmail === !0) && menuElem.addClass(ClassName.SPACE + ClassName.HEIGHT40), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Photo": | |
secondElem.text(obj.dotVal).attr("title", obj.title), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).addClass(ClassName.SPACE + ClassName.HEIGHT30), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Name": | |
var name = noName === !1 ? obj.dotVal : Message.NONAME; | |
secondElem.text(name).attr("title", obj.title).addClass(ClassName.NAME + ClassName.SPACE + ClassName.NOPHOTO + ClassName.SPACE + ClassName.NOEMAIL), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && secondElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Email": | |
secondElem.append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "NameEmail": | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME).addClass(ClassName.NOPHOTO), menuElem.append($("<span>").addClass(ClassName.EMAIL + ClassName.SPACE + ClassName.NOPHOTO).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
default: | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME), (noName === !0 || noEmail === !0) && menuElem.addClass(ClassName.SPACE + ClassName.HEIGHT40), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)) | |
} | |
} else if ("contact" === ulType) { | |
var trimEmailObj, | |
noName = item && item.fullName && item.fullName.trim().length > 0 ? !1 : !0, | |
format = this.options.contactFormat, | |
noEmail = item && item.email && item.email.trim().length > 0 ? !1 : !0, | |
extraSpc = "Email" === format || "NameEmail" === format ? 15 : 10; | |
switch (this._isDefault() && this._inArray(valArr, item.id) > -1 && this._applyClass(menuElem, action), trimEmailObj = item.email && item.email.length > 0 && ("All" === format || "Email" === format || "NameEmail" === format) ? this._getEllipsisVal(item.email, this.options.maxlen + extraSpc) : { | |
dotVal: Message.NOEMAIL, | |
title: Message.NOEMAIL | |
}, format) { | |
case "All": | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME), (noName === !0 || noEmail === !0) && menuElem.addClass(ClassName.SPACE + ClassName.HEIGHT40), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Photo": | |
secondElem.text(obj.dotVal).attr("title", obj.title), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).addClass(ClassName.SPACE + ClassName.HEIGHT30), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Name": | |
var name = noName === !1 ? obj.dotVal : Message.NONAME; | |
secondElem.text(name).attr("title", obj.title).addClass(ClassName.NAME + ClassName.SPACE + ClassName.NOPHOTO + ClassName.SPACE + ClassName.NOEMAIL), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && secondElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "Email": | |
secondElem.append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
case "NameEmail": | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME).addClass(ClassName.NOPHOTO), menuElem.append($("<span>").addClass(ClassName.EMAIL + ClassName.SPACE + ClassName.NOPHOTO).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)), "ActiveAndDeactive" === this.options.type && "DISABLED" === item.userStatus && menuElem.append($("<em>").addClass(ClassName.DEACTIVEUSERCLASS)); | |
break; | |
default: | |
secondElem.text(obj.dotVal).attr("title", obj.title).addClass(ClassName.NAME), (noName === !0 || noEmail === !0) && menuElem.addClass(ClassName.SPACE + ClassName.HEIGHT40), menuElem.append($("<span>").addClass(ClassName.IMGSPAN).append($("<img>").attr("src", item.avatar).addClass(ClassName.IMG))).append($("<span>").addClass(ClassName.EMAIL).text(trimEmailObj.dotVal).attr("title", trimEmailObj.title)) | |
} | |
} | |
return menuElem.attr("tabindex", "-1"), menuElem | |
}, | |
_getItem: function(list, ulType) { | |
if (list && 0 !== list.length) { | |
var base = this, | |
frag = document.createDocumentFragment(), | |
isARused = !1, | |
isOtherUsed = !1; | |
return $.each(list, function(i, opt) { | |
var joRel = opt.joRelation; | |
if ("HM" === joRel) { | |
var subMenuElem = $(base.options.submenu); | |
subMenuElem.text(ZRCommonUtil.isStaffingType ? I18n.getMsg("zr.lar.accountmanager") : I18n.getMsg("zr.lar.hiringmanager")), frag.append(subMenuElem[0]) | |
} | |
if (!isARused && "AR" === joRel) { | |
var subMenuElem = $(base.options.submenu); | |
subMenuElem.text(I18n.getMsg("zr.lar.assignedrecruiter")), isARused = !0, frag.append(subMenuElem[0]) | |
} | |
if (!isOtherUsed && "Other" === joRel) { | |
var subMenuElem = $(base.options.submenu); | |
subMenuElem.text(I18n.getMsg("crm.label.other.users")), isOtherUsed = !0, frag.append(subMenuElem[0]) | |
} | |
var li = base._getMenuItem(opt, ulType); | |
"object" == typeof li && frag.appendChild(li[0]) | |
}), frag | |
} | |
return this._noOption() | |
}, | |
_noOption: function() { | |
var frag = document.createDocumentFragment(), | |
menuElem = $(this.options.menu); | |
return menuElem.text(this.options.optionmsg).addClass(ClassName.ERROR), frag.appendChild(menuElem[0]), frag | |
}, | |
_getId: function() { | |
return this.$element[0].id && this.$element[0].id.length > 0 ? this.$element[0].id : this.$element[0].name | |
}, | |
_create: function() { | |
var action = this.options.action, | |
data = this._fetchData({ | |
group: this.options.isgroup, | |
customFromAddress: this.options.isCustomFromAddress | |
}), | |
item = data && "success" === data.message ? data.userList : [], | |
gItem = item.length > 0 && data.groupList && data.groupList.length > 0 ? data.groupList : [], | |
cItem = this.options.isCustomFromAddress && item.length > 0 && data.customFromAddressList && data.customFromAddressList.length > 0 ? data.customFromAddressList : [], | |
id = this._getId(), | |
tabIndex = this.$element[0].tabIndex, | |
tabIndex = void 0 === tabIndex ? "1" : tabIndex, | |
showGroup = gItem && 0 === gItem.length ? !1 : !0, | |
showCustomFromAddress = cItem && 0 === cItem.length ? !1 : !0; | |
if (gItem = showCustomFromAddress ? cItem : gItem, this.options.iscontacts) | |
var contactsData = this._fetchContactsData({}), | |
contactsItem = contactsData && "success" === contactsData.message ? contactsData.contactList : [], | |
showContact = contactsItem && 0 === contactsItem.length ? !1 : !0; | |
this.options.shownext = data && "success" === data.message ? data.showNext : !1, this.options.shownextcontacts = contactsData && "success" === contactsData.message ? contactsData.showNext : !1, this.options.item = item, this._baseElem = $(this.options.template); | |
var child = this._baseElem.children(); | |
if (this._dropdown = $(child[0]), this._baseElem.attr("id", id + "-ulist").attr("tabIndex", tabIndex), this._dropdown.html(this._getItem(this.options.item, "user")), this.options.issearch && $(this._baseElem).prepend($(this.options.search).attr("id", id + "-ulistsearch").attr("placeholder", this.options.searchmsg)), (this.options.isgroup && showGroup || this.options.isCustomFromAddress && showCustomFromAddress) && (this.options.gItem = gItem, this._groupDropdown = $(this.options.group), this._groupDropdown.html(this._getItem(this.options.gItem, "group")), this._dropdown.after(this._groupDropdown), this._tabDropdown = $(this.options.tabtemplate), this._tabDropdown.html(this._getItem(this.tabList, "tabs")), this._tabDropdown.find(Selector.LI).first().find(Selector.ANCHOR).addClass(ClassName.ACTIVE), this._baseElem.prepend(this._tabDropdown).addClass(ClassName.PADDING)), this.options.iscontacts && showContact && (this.options.contactsItem = contactsItem, this._contactDropdown = $(this.options.contact), this._contactDropdown.html(this._getItem(this.options.contactsItem, "contact")), this._dropdown.after(this._contactDropdown), this._tabDropdown = $(this.options.tabtemplate), this._tabDropdown.html(this._getItem(this.tabList, "tabs")), this._tabDropdown.find(Selector.LI).first().find(Selector.ANCHOR).addClass(ClassName.ACTIVE), this._baseElem.prepend(this._tabDropdown).addClass(ClassName.PADDING)), $("body").append(this._baseElem), this._bindEvent(), this._isDefault()) { | |
var $liElem = this._dropdown.find(Selector.LI), | |
$li = $liElem.filter("disable" === action ? Selector.HIDDEN : "hide" === action ? Selector.NONE : Selector.ACTIVE), | |
selected = []; | |
if ($.each($li, function(i, elem) { | |
var item = $(elem).data("item"); | |
selected.push({ | |
id: item.id, | |
item: item | |
}) | |
}), this.options.iscontacts && this._contactDropdown) { | |
var $liElem = this._contactDropdown.find(Selector.LI), | |
$li = $liElem.filter("disable" === action ? Selector.HIDDEN : "hide" === action ? Selector.NONE : Selector.ACTIVE); | |
$.each($li, function(i, elem) { | |
var item = $(elem).data("item"); | |
selected.push({ | |
id: item.id, | |
item: item | |
}) | |
}) | |
} | |
this._baseElem.data("selected", selected), this._applyClassForGroupOfUser() | |
} | |
(this.options.shownext || this.options.shownextcontacts) && this._scroll(), this._callback("create") | |
}, | |
_getPosition: function() { | |
var $this = this.$element, | |
$drop = $(this._dropdown), | |
$dropdownParent = this.options.parent, | |
elemPos = $this.offset(), | |
elemHt = $this.innerHeight(), | |
elemOht = $this.outerHeight(); | |
dropDownHt = $drop.outerHeight(), dropDownWd = $drop.outerWidth(), windHt = window.innerHeight, windWd = window.innerWidth, scrollHeight = $(window).scrollTop(); | |
var css = { | |
top: elemPos.top + elemOht, | |
left: elemPos.left | |
}; | |
if (void 0 !== $dropdownParent && 0 !== $dropdownParent.length) { | |
var parentPos = $dropdownParent.offset(); | |
css.top -= parentPos.top | |
} | |
elemHt + elemPos.top + dropDownHt > windHt + scrollHeight && (css.top = elemPos.top - dropDownHt), elemPos.left + dropDownWd > windWd && (css.left = elemPos.left - dropDownWd), this._baseElem.css({ | |
top: css.top + "px", | |
left: css.left + "px" | |
}) | |
}, | |
_fetchData: function(dataObj) { | |
var data = [], | |
base = this, | |
searchVal = (this.options.forcefetch, dataObj.search), | |
ids = dataObj.ids, | |
isGroup = this.storeUserData ? !0 : dataObj.group ? dataObj.group : !1, | |
isContacts = this.storeUserData ? !0 : dataObj.contact ? dataObj.contact : !1, | |
isCustomFromAddress = this.storeUserData ? !0 : dataObj.customFromAddress ? dataObj.customFromAddress : !1, | |
isdefault = dataObj.hasOwnProperty("isdefault") ? dataObj.isdefault : !0, | |
fetchUserInfo = dataObj.hasOwnProperty("fetchUserInfo") ? dataObj.fetchUserInfo : !1; | |
if (!base.isLoadMore) { | |
base.isLoadMore = !0; | |
var urlData = "type=" + (this.options.type ? this.options.type : "All") + "&format=" + this.options.format + "&to=" + (this.storeUserData ? 250 : this.options.to) + "&fetchGroupInfo=" + isGroup + "&fetchCustomFromAddressInfo=" + isCustomFromAddress + "&fetchContactInfo=" + isContacts + "&fetchUserInfo=" + fetchUserInfo, | |
fromIndex = base.options.from; | |
searchVal && 0 !== searchVal.length && (urlData = urlData + "&searchtxt=" + searchVal, fromIndex = 1), this._isDefault() && isdefault && (urlData = urlData + "&id=" + this._convertToString(this.options.val)), ids && 0 !== ids.length && (urlData = urlData + "&id=" + ids), "ActivePaidTerritory" === this.options.type && this.options.territoryId && (urlData += "&territoryId=" + this.options.territoryId), "ActiveAndRole" === this.options.type && this.options.roleId && (urlData += "&roleId=" + this.options.roleId), this.options.relatedJO && (urlData = urlData + "&joId=" + this.options.relatedJO), urlData = urlData + "&from=" + fromIndex, data = data && "string" == typeof data ? JSON.parse(data) : [], 0 === data.length && $.ajax({ | |
type: "GET", | |
url: "/recruit/getUserList.do", | |
dataType: "json", | |
async: !1, | |
data: urlData, | |
beforeSend: function() { | |
Utils.showHideLoadingDiv(!0) | |
}, | |
success: function(resp) { | |
base.isLoadMore = !1, data = resp | |
}, | |
error: function() { | |
data = [{ | |
error: "FAILURE", | |
message: Message.ERROR, | |
item: [] | |
}] | |
}, | |
complete: function() { | |
Utils.showHideLoadingDiv(!1) | |
} | |
}) | |
} | |
return data | |
}, | |
_fetchContactsData: function(dataObj) { | |
var data = [], | |
base = this, | |
searchVal = (this.options.forcefetch, dataObj.search), | |
ids = dataObj.ids, | |
isdefault = dataObj.hasOwnProperty("isdefault") ? dataObj.isdefault : !0; | |
if (!base.isLoadContactsMore) { | |
base.isLoadContactsMore = !0; | |
var urlData = "to=" + (this.storeContactData ? 250 : this.options.toContacts), | |
fromIndex = base.options.fromContacts; | |
searchVal && 0 !== searchVal.length && (urlData = urlData + "&searchtxt=" + searchVal, fromIndex = 1), this.options.relatedAcc && (urlData = urlData + "&relid=" + this.options.relatedAcc), this._isDefault() && isdefault && (urlData = urlData + "&id=" + this._convertToString(this.options.val)), ids && 0 !== ids.length && (urlData = urlData + "&id=" + ids), urlData = urlData + "&from=" + fromIndex + "&format=" + this.options.contactFormat, $.ajax({ | |
type: "GET", | |
url: "/recruit/getContactsList.do", | |
dataType: "json", | |
async: !1, | |
data: urlData, | |
beforeSend: function() { | |
Utils.showHideLoadingDiv(!0) | |
}, | |
success: function(resp) { | |
base.isLoadContactsMore = !1, data = resp | |
}, | |
error: function() { | |
data = [{ | |
error: "FAILURE", | |
message: Message.ERROR, | |
item: [] | |
}] | |
}, | |
complete: function() { | |
Utils.showHideLoadingDiv(!1) | |
} | |
}) | |
} | |
return data | |
}, | |
_bindEvent: function() { | |
var base = this; | |
this._baseElem.on("click.ulistdrop", function(event) { | |
var tgt = $(event.target); | |
if (tgt.is("li") || tgt.parent().is("li") || tgt.is("img")) { | |
var elem = tgt.is("li") ? event.target : tgt.is("img") ? tgt.parents("li")[0] : $(tgt.parent())[0], | |
type = $(elem).data("type"); | |
!type || "Users" !== type && "Groups" !== type && "Contacts" !== type ? (base._select(elem), base.options.multiple === !0 && base._stopEvent(event)) : base._changeTabMenu($(elem), type) | |
} else if (tgt.is("input")) | |
base._stopEvent(event); | |
else if (tgt.parent().is(Selector.TABBASE)) { | |
var elem = tgt.is("li") ? event.target : $(tgt.parent())[0], | |
type = elem.data("type"); | |
base._tabDropdown.find(Selector.ACTIVE).removeClass(ClassName.ACTIVE), "Users" === type ? (base._dropdown.removeClass(ClassName.NONE), this.options.isgroup && base._groupDropdown.addClass(ClassName.NONE), this.options.iscontacts && base._groupDropdown.addClass(ClassName.NONE)) : "Groups" === type ? (base._dropdown.addClass(ClassName.NONE), this.options.iscontacts && base._contactDropdown.addClass(ClassName.NONE), base._groupDropdown.removeClass(ClassName.NONE)) : "Contacts" === type && (base._dropdown.addClass(ClassName.NONE), this.options.isgroup && base._groupDropdown.addClass(ClassName.NONE), base._contactDropdown.removeClass(ClassName.NONE)), elem.find("a").addClass(ClassName.ACTIVE), base._stopEvent(event) | |
} | |
}).on("keydown.ulistdropkey", function(event) { | |
var tgt = $(event.target), | |
$ul = base._baseElem.find(Selector.NOTABUL), | |
$drop = $ul.filter(Selector.VISIBLE).find(Selector.LI); | |
base._keyPress($drop, tgt, event) | |
}).on("keyup.ulistinputkey", function(event) { | |
var tgt = $(event.target); | |
tgt.is("input") && (base.storeUserData === !1 && -1 === $.inArray(event.keyCode, base.options.keyCodeList) ? (clearTimeout(base.options.userCompTimeoutId), base.options.userCompTimeoutId = setTimeout(function() { | |
base._search(tgt, event) | |
}, base.options.searchDelay)) : base._search(tgt, event), base._setFocus()) | |
}).on("mouseover", function(event) { | |
var tgt = $(event.target); | |
tgt.hasClass("ulist-deactivated-user") && zctt.showtt(I18n.getMsg("DeactiveUser"), void 0, void 0, void 0, "false") | |
}).on("mouseout", function(event) { | |
var tgt = $(event.target); | |
tgt.hasClass("ulist-deactivated-user") && zctt.hidett(!0) | |
}) | |
}, | |
_keyPress: function($li, elem, event) { | |
var base = this; | |
switch (event.keyCode) { | |
case 40: | |
base._next($li); | |
break; | |
case 38: | |
base._prev($li); | |
break; | |
case 32: | |
case 13: | |
elem.is("input") || base._enter($li.filter(Selector.SELECTED)); | |
break; | |
case 27: | |
base._escape() | |
} | |
}, | |
_nextNode: function(elem, $first) { | |
var $next = elem && 0 !== elem.length ? elem.is(Selector.VISIBLE) ? elem : this._nextNode(elem.next()) : $first; | |
return $next && $next.hasClass("hdng") ? $next.next() : $next | |
}, | |
_next: function(elem) { | |
var $this = $(elem), | |
$first = $this.eq(0), | |
$next = this._nextNode($this.filter(Selector.SELECTED).next(), $first), | |
selected = $next && 0 !== $next.length ? $next : $first; | |
$this.removeClass(ClassName.SELECTED), $(selected).addClass(ClassName.SELECTED).focus(), this._callback("next", $(selected)) | |
}, | |
_prevNode: function(elem, $last) { | |
var $next = elem && 0 !== elem.length ? elem.is(Selector.VISIBLE) ? elem : this._prevNode(elem.prev()) : $last; | |
return $next && $next.hasClass("hdng") ? $next.prev() : $next | |
}, | |
_prev: function(elem) { | |
var $this = $(elem), | |
len = $this.length, | |
$last = $this.eq(len - 1), | |
$prev = this._prevNode($this.filter(Selector.SELECTED).prev(), $last), | |
selected = $prev && 0 !== $prev.length ? $prev : $last; | |
$this.removeClass(ClassName.SELECTED), $(selected).addClass(ClassName.SELECTED).focus(), this._callback("prev", $(selected)) | |
}, | |
_enter: function($li) { | |
this._baseElem.hasClass(ClassName.NONE) ? this._openItem() : this._select($li) | |
}, | |
_escape: function() { | |
this._closeItem() | |
}, | |
_search: function(tgt, event) { | |
var showNext = this.options.shownext, | |
base = this, | |
searchVal = tgt.val(), | |
action = this.options.action, | |
selTab = base._tabDropdown ? base._tabDropdown.find(Selector.ACTIVE).parent().data("type") : "", | |
noOption = this._noOption(), | |
id = this._getId(), | |
selected = this._baseElem.data("selected"), | |
showNextContacts = this.options.shownextcontacts, | |
$dropUl = selTab.length > 0 && "Groups" === selTab ? base._groupDropdown : base._dropdown, | |
$li = $dropUl.find(Selector.LI); | |
if ($dropUl = selTab.length > 0 && "Contacts" === selTab ? base._contactDropdown : $dropUl, $li = $dropUl.find(Selector.LI), $li.filter(Selector.ERROR).remove(), void 0 !== searchVal && searchVal.length >= base.options.minlength) { | |
if (searchVal = searchVal.toLowerCase(), searchVal.length <= 25) | |
if ("Contacts" === selTab && showNextContacts && this._contactDropdown) { | |
$("#" + id + "-uautores").remove(), this._contactDropdown.addClass(ClassName.NONE); | |
var data = this._fetchContactsData({ | |
search: searchVal | |
}), | |
item = data && "success" === data.message ? data.contactList : [], | |
searchUl = this._contactDropdown.clone().html(this._getItem(item, "user")); | |
this._contactDropdown.after(searchUl.attr("id", id + "-uautores").show()), selected && 0 !== selected.length && $.each(selected, function(i, item) { | |
var $dropli = base._baseElem.find(Selector.UL).next().find("li[data-id='" + item.id + "']"); | |
0 !== $dropli.length && base._applyClass($dropli, action) | |
}) | |
} else if (showNext) { | |
$("#" + id + "-uautores").remove(), this._dropdown.addClass(ClassName.NONE); | |
var data = this._fetchData({ | |
search: searchVal | |
}), | |
item = data && "success" === data.message ? data.userList : [], | |
searchUl = this._dropdown.clone().html(this._getItem(item, "user")); | |
this._dropdown.after(searchUl.attr("id", id + "-uautores").show()), selected && 0 !== selected.length && $.each(selected, function(i, item) { | |
var $dropli = base._baseElem.find(Selector.UL).next().find("li[data-id='" + item.id + "']"); | |
0 !== $dropli.length && base._applyClass($dropli, action) | |
}) | |
} else | |
$.each($li, function(i, item) { | |
var data = $(item).text(), | |
data = data && 0 !== data.length ? data.toLowerCase() : data; | |
data.indexOf(searchVal) > -1 ? $(item).show() : $(item).hide() | |
}), 0 === $li.filter(Selector.VISIBLE).length && ($li.filter(Selector.ERROR).remove(), $dropUl.append(noOption)) | |
} else | |
$dropUl.find(Selector.LI).removeAttr(Selector.STYLE), 0 === $dropUl.find(Selector.LI).filter(Selector.VISIBLE).length ? $dropUl.append(noOption) : $li.filter(Selector.ERROR).remove(), (showNext || showNextContacts) && ($("#" + id + "-uautores").remove(), $dropUl.removeClass(ClassName.NONE)); | |
this._getPosition(), this._callback("search"), this._stopEvent(event) | |
}, | |
_scroll: function() { | |
var base = this; | |
this._dropdown.unbind("scroll").bind("scroll", function() { | |
{ | |
var $this = $(this), | |
height = this.scrollHeight - $this.height(), | |
scroll = $this.scrollTop(), | |
isScrolledToEnd = scroll >= height - 50, | |
newItem = []; | |
base._baseElem.find(Selector.INPUT).val() | |
} | |
if (isScrolledToEnd && base.options.shownext) { | |
base.options.from = parseInt(base.options.from) + parseInt(base.options.to); | |
var data = base._fetchData({ | |
group: !1, | |
isdefault: !1 | |
}), | |
item = data && "success" === data.message ? data.userList : [], | |
selected = base._baseElem.data("selected"), | |
selected = selected ? selected : []; | |
0 !== selected.length ? $.each(item, function(i, liItem) { | |
var userIdNotPresent = !0; | |
$.each(selected, function(j, selUserObj) { | |
return liItem.id === base._convertToString(selUserObj.id) ? (userIdNotPresent = !1, !1) : void 0 | |
}), userIdNotPresent && newItem.push(liItem) | |
}) : newItem = item, base.options.shownext = data && "success" === data.message ? data.showNext : !1, base._dropdown.append(base._getItem(newItem, "user")), base._callback("scroll") | |
} | |
}), this.options.iscontacts && this._contactDropdown && this._contactDropdown.unbind("scroll").bind("scroll", function() { | |
{ | |
var $this = $(this), | |
height = this.scrollHeight - $this.height(), | |
scroll = $this.scrollTop(), | |
isScrolledToEnd = scroll >= height - 50, | |
newItem = []; | |
base._baseElem.find(Selector.INPUT).val() | |
} | |
if (isScrolledToEnd && base.options.shownextcontacts) { | |
base.options.fromContacts = parseInt(base.options.fromContacts) + parseInt(base.options.toContacts); | |
var data = base._fetchContactsData({ | |
isdefault: !1 | |
}), | |
item = data && "success" === data.message ? data.contactList : [], | |
selected = base._baseElem.data("selected"), | |
selected = selected ? selected : []; | |
0 !== selected.length ? $.each(item, function(i, liItem) { | |
var contactIdNotPresent = !0; | |
$.each(selected, function(j, selContactObj) { | |
return liItem.id === base._convertToString(selContactObj.id) ? (contactIdNotPresent = !1, !1) : void 0 | |
}), contactIdNotPresent && newItem.push(liItem) | |
}) : newItem = item, base.options.shownextcontacts = data && "success" === data.message ? data.showNext : !1, base._contactDropdown.append(base._getItem(newItem, "contact")), base._callback("scroll") | |
} | |
}) | |
}, | |
_select: function(tgt) { | |
{ | |
var $this = $(tgt), | |
base = this, | |
item = $this.data(); | |
base.options.action | |
} | |
if (!($this.hasClass(ClassName.ACTIVE) || $this.hasClass(ClassName.HIDDEN) || $this.hasClass(ClassName.NONE) || $this.hasClass(ClassName.ERROR) || $this.hasClass("hdng"))) { | |
if ("contact" === item.type) | |
if (base.options.multiple) { | |
var selected = base._baseElem.data("selected"), | |
selected = selected ? selected : [], | |
associatedContacts = (selected.length, item && item.item && item.item.hasOwnProperty("associatedContacts") ? item.item.associatedContacts : []); | |
if (base._maxSelectCheck(selected.length)) | |
return base._callback("maxerror"), void base._closeItem(); | |
if (associatedContacts.length > 0) { | |
if (selected.length > 0) { | |
var unselectedContactIds = []; | |
$.each(associatedContacts, function(i, asscontactId) { | |
var contactIdNotPresent = !0; | |
$.each(selected, function(i, selContactObj) { | |
return base._convertToString(selContactObj.id) === asscontactId ? (contactIdNotPresent = !1, !1) : void 0 | |
}), contactIdNotPresent && unselectedContactIds.push(asscontac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment