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 hidden or 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