var TMC = TMC || { namespace: true }; TMC.PowerPages = TMC.PowerPages || { namespace: true }; (TMC.PowerPages = function () { TMC.PowerPages.showField = function (name, visible) { if (visible) $(name).closest("tr").show(); else $(name).closest("tr").hide(); }; TMC.PowerPages.showSection = function (name, visible) { let section = $("table[data-name='" + name + "']"); let parentSection = $(section).parent(); //visible ? $(parentSection).removeClass("d-none") : $(parentSection).addClass("d-none"); visible ? $(parentSection).show() : $(parentSection).hide(); }; TMC.PowerPages.showTab = function (name, visible) { let tab = $("div[data-name='" + name + "']"); let parentTab = $(tab).prev("h2.tab-title"); // visible ? $(tab).removeClass("d-none") : $(tab).addClass("d-none"); // visible ? $(parentTab).removeClass("d-none") : $(parentTab).addClass("d-none"); visible ? $(tab).show() : $(tab).hide(); visible ? $(parentTab).show() : $(parentTab).hide(); }; TMC.PowerPages.showQuickViewForm = function (name, visible) { let quickViewForm = $("#" + name); let parentQuickViewForm = $(quickViewForm).parent().parent(); visible ? $(parentQuickViewForm).show() : $(parentQuickViewForm).hide(); }; TMC.PowerPages.openAlertDialog = function (text, title) { $('#powerPagesAlertTitle').html(title); let decodedContent = document.createElement("div"); decodedContent.innerHTML = text; $('#powerPagesAlertMessage').html(decodedContent.outerText); $('#powerPagesAlert').modal('show'); }; TMC.PowerPages.openConfirmDialog = function (text, title, confirmed) { $('#powerPagesConfirmTitle').html(title); let decodedContent = document.createElement("div"); decodedContent.innerHTML = text; $('#powerPagesConfirmMessage').html(decodedContent.outerText); $('#powerPagesConfirmOk').on('click', confirmed); $('#powerPagesConfirm').modal('show'); }; TMC.PowerPages.setDisabled = function (name, isDisabled) { if (isDisabled) $(name).attr("disabled", "disabled"); else $(name).removeAttr("disabled"); }; TMC.PowerPages.setLookUpDisabled = function (name, isDisabled) { $(name).prop('disabled', isDisabled); $(name).parent().children(".launchentitylookup").toggle(!isDisabled); }; TMC.PowerPages.makeRequired = function (fieldName, requiredFieldMessage) { fieldName = fieldName.replace("#", ""); try { if ($("#" + fieldName) !== undefined) { $("#" + fieldName).prop('required', true); $("#" + fieldName).closest(".control").prev().addClass("required"); // Create new validator var Requiredvalidator = document.createElement('span'); Requiredvalidator.style.display = "none"; Requiredvalidator.id = fieldName + "Validator"; Requiredvalidator.controltovalidate = fieldName; var labelField = fieldName; if (fieldName.endsWith('_name')) { labelField = labelField.replace("_name", ""); } if(requiredFieldMessage === null || requiredFieldMessage === undefined) requiredFieldMessage = " is a mandatory field"; Requiredvalidator.errormessage = `" ${$("#" + labelField + "_label").html()} ${requiredFieldMessage}. `; Requiredvalidator.initialvalue = ""; Requiredvalidator.evaluationfunction = function () { var value = $("#" + fieldName).val(); if (value === null || value === "") { $("#" + fieldName).addClass("border-rouge"); return false; } else { $("#" + fieldName).removeClass("border-rouge"); return true; } }; // Add the new validator to the page validators array: if (typeof Page_Validators !== 'undefined') { var validatorExist = false; for (i = 0; i < Page_Validators.length; i++) { if (Page_Validators[i].id == Requiredvalidator.id) { validatorExist = true; } } if (!validatorExist) { Page_Validators.push(Requiredvalidator); } } } } catch (error) { console.log('Make Required error :' + error.message); //errorHandler(error); } }; TMC.PowerPages.makeNotRequired = function (fieldName) { fieldName = fieldName.replace("#", ""); try { if ($("#" + fieldName) !== undefined) { $("#" + fieldName).closest(".control").prev().removeClass("required"); $("#" + fieldName).prop('required', false); if (typeof Page_Validators !== 'undefined') { for (i = 0; i < Page_Validators.length; i++) { if (Page_Validators[i].id == fieldName + "Validator") { Page_Validators.splice(i,1); } } } } } catch (error) { console.log(' Make Not Required error :' + error.message); //errorHandler(error); } }; TMC.PowerPages.GetEnvironmentVariableValue = function (variableName) { return new Promise((resolve, reject) => { webapi.safeAjax({ type: "GET", url: `/_api/environmentvariabledefinitions?$select=defaultvalue&$expand=environmentvariabledefinition_environmentvariablevalue($select=value)&$filter=(schemaname eq '${variableName}')`, contentType: "application/json", success: function (results) { let result = results?.value?.[0]; resolve (result?.environmentvariabledefinition_environmentvariablevalue?.[0]?.value ?? result?.defaultvalue ?? ""); }, error: function (error) { reject(error); } }); }); }; TMC.PowerPages.FormatBlankOptionSet = function(name) { try { if ($(name) !== undefined) { let val = $(name).find(":selected").val(); if (val) { return; } $(name).find(":selected").prop("label", "").text(""); } } catch (error) { console.log('Format Blank Option Set error : ' + error.message); } }; })();