/// if (!Page_Validators) var Page_Validators; var PortalTools; (function (PortalTools) { /** * Will allow user to set a field to toggle based off a specific value on another field within the form. * @param fieldname - field to verify * @param fieldvalue - value of field that needs to be present to show field-to-display. * @param fieldtodisplay - the field you wish to conditionally show. * @param closest - tr || td * @param requireotherfield [Optional param] - bool to determine if the child field is required. * @param changefunctionname [Optional param] - will be called when the provided field has changed. * @param requirecallbackfunction [Optional param] - will be called when the form is submitted. */ function ToggleOptionSetOtherField(fieldname, fieldvalue, fieldtodisplay, closest, requireotherfield, changefunctionname, requirecallbackfunction) { if (!exists(fieldname) || !exists(fieldtodisplay)) return; if (!PortalTools._data) PortalTools._data = []; fieldname = validatefieldid(fieldname); fieldtodisplay = validatefieldid(fieldtodisplay); PortalTools._data.push(new CallbackData(fieldname, fieldvalue, fieldtodisplay, closest, false, requireotherfield)); if (!PortalTools.defaultotherback) PortalTools.defaultotherback = GetToggleOptionSetDefaultFunction(); //does value match provided optionsetvalue var display = ($(fieldname).val() !== null && $(fieldname).val() === fieldvalue); PortalTools.addOnChangeEvents(fieldname, changefunctionname ? changefunctionname : PortalTools.defaultotherback); PortalTools.ToggleField(display, fieldtodisplay, closest, display && requireotherfield, requirecallbackfunction); } PortalTools.ToggleOptionSetOtherField = ToggleOptionSetOtherField; /** * * */ function GetToggleOptionSetDefaultFunction() { return function (control) { var _this = this; var dataset = PortalTools._data.filter(function (t) { return t.fieldname === "#" + _this.id; }); dataset[0].display = this.value !== null && this.value === dataset[0].fieldvalue; ToggleField(dataset[0].display, dataset[0].fieldtodisplay, dataset[0].closest, dataset[0].display && dataset[0].require, null); }; } PortalTools.GetToggleOptionSetDefaultFunction = GetToggleOptionSetDefaultFunction; /** * Will allow user to set a field to toggle based off a specific value on another field within the form. * @param fieldname - field to verify * @param fieldvalue - value of field that needs to be present to show field-to-display. * @param fieldtodisplay - the field you wish to conditionally show. * @param closest - tr || td * @param requireotherfield [Optional param] - bool to determine if the child field is required. * @param changefunctionname [Optional param] - will be called when the provided field has changed. * @param requirecallbackfunction [Optional param] - will be called when the form is submitted. */ function ToggleRadioOtherField(fieldname, fieldvalue, fieldtodisplay, closest, requireotherfield, changefunctionname, requirecallbackfunction) { fieldname = validatefieldid(fieldname); fieldtodisplay = validatefieldid(fieldtodisplay); if (!validate(fieldname) || !validate(fieldtodisplay)) return; //Create Onload in memory Obj if not found. if (!PortalTools._data) PortalTools._data = []; PortalTools._data.push(new CallbackData(fieldname, fieldvalue, fieldtodisplay, closest, false, requireotherfield)); //default Call Back function. TODO: move to own func. if (!PortalTools.defaultradioback) PortalTools.defaultradioback = GetToggleRadioOtherDefaultFunction(); var display = (GetRadioFieldValue(fieldname) === fieldvalue); PortalTools.addOnChangeEvents(fieldname, changefunctionname ? changefunctionname : PortalTools.defaultradioback); PortalTools.ToggleField(display, fieldtodisplay, closest, display && requireotherfield, requirecallbackfunction); } PortalTools.ToggleRadioOtherField = ToggleRadioOtherField; function GetToggleRadioOtherDefaultFunction() { return function (control) { var _this = this; var dataset = PortalTools._data.filter(function (t) { return t.fieldname === "#" + _this.id; }); for (var d = 0; d <= dataset.length; d++) { dataset[d].display = dataset[d].fieldvalue && control.target ? control.target.id.contains(dataset[d].fieldvalue) : false; ToggleField(dataset[d].display, dataset[d].fieldtodisplay, dataset[d].closest, dataset[d].display && dataset[d].require, null); } }; } PortalTools.GetToggleRadioOtherDefaultFunction = GetToggleRadioOtherDefaultFunction; /** * Will return the value of the radio button depending on the control selected. * @param fieldname */ function GetRadioFieldValue(fieldname) { fieldname = validatefieldid(fieldname); if (!validate(fieldname)) return "0"; //@ts-ignore if (exists(fieldname + "_0") && $(fieldname + "_0")[0].checked) return "0"; //@ts-ignore if (exists(fieldname + "_1") && $(fieldname + "_1")[0].checked) return "1"; } PortalTools.GetRadioFieldValue = GetRadioFieldValue; function CreateCustomSaveButton(buttonname, custombuttonname, onchangefunction) { if (!validate(buttonname) || !custombuttonname) return; buttonname = validatefieldid(buttonname); custombuttonname = validatefieldid(custombuttonname); if ($(custombuttonname).length > 0) return; //stop button is already created var clone = $(buttonname).clone(); clone[0].id = custombuttonname; clone[0].onclick = onchangefunction ? onchangefunction : null; clone[0]["name"] = ''; //push to DOM $(buttonname).parent().append(clone); //hide primary button $(buttonname).hide(); return clone; } PortalTools.CreateCustomSaveButton = CreateCustomSaveButton; /** * Will display a field and set required if requested. * @param display Boolean to show or hide field. * @param fieldname Name of the field you wish to toggle with the # prefix * @param closest Typically a tr or td, this is the closest tag that you wish to show and hide for toggling field. * @param require - [Optional param] - that will also toggle the requirement of the field if provided. */ function ToggleField(display, fieldname, closest, require, callbackfunction) { fieldname = validatefieldid(fieldname); if (!exists(fieldname)) return; if (display) $(fieldname).closest(closest).show(); else $(fieldname).closest(closest).hide(); ToggleRequire(fieldname, typeof require === 'undefined' ? null : require, callbackfunction); } PortalTools.ToggleField = ToggleField; /** * Will set requirement on a field provided and will not allow save until the field has a value. * @param fieldname - string name of field to toggle. * @param require - boolean to indicate true for require and false for remove-require. * @param callbackfunction - [Optional param] - when the field being toggled has changed this function will run. */ function ToggleRequire(fieldname, require, callbackfunction) { try { fieldname = validatefieldid(fieldname); if (!exists(fieldname) || typeof require === 'undefined') return; if (require !== true) { $(fieldname).attr('aria-required', "false"); $(fieldname).parent().prev().removeClass("required"); RemoveValidatorRecord(fieldname); } else { $(fieldname).attr('aria-required', "true"); $(fieldname).parent().prev().addClass("required"); CreateValidatorRecord(fieldname, callbackfunction); } } catch (error) { alert(error); } } PortalTools.ToggleRequire = ToggleRequire; /** * * @param fieldname - whatever * @param callbackfunction [Optional] - any function you supply that will run when the change event is triggered. */ function CreateValidatorRecord(fieldname, callbackfunction) { if (fieldname.charAt(0) !== "#") fieldname = "#" + fieldname; if (Page_Validators.filter(function (p) { return p.controltovalidate === fieldname; }).length > 0) return; if (!exists(fieldname) || typeof (Page_Validators) == 'undefined') return; var newValidator = document.createElement('span'); newValidator.style.display = "none"; newValidator.id = fieldname + "Validator"; newValidator.controltovalidate = fieldname; newValidator.errormessage = " " + GetControlLabel(fieldname)[0].innerHTML + " is a required field."; newValidator.evaluationfunction = !callbackfunction ? GetDefaultFunction() : callbackfunction; Page_Validators.push(newValidator); } PortalTools.CreateValidatorRecord = CreateValidatorRecord; function GetDefaultFunction() { return function DefaultEmptyCheck(control) { return $(control.controltovalidate).val() !== undefined && $(control.controltovalidate).val() !== null && $(control.controltovalidate).val().trim() !== ""; }; } PortalTools.GetDefaultFunction = GetDefaultFunction; function GetControlLabel(fieldname) { if (!exists(fieldname)) return; if ($(fieldname)[0].nodeName.toLowerCase() === "input") return $(fieldname + "_label"); if ($(fieldname)[0].nodeName.toLowerCase() === "select") return $(fieldname + "_label"); if ($(fieldname)[0].nodeName.toLowerCase() === "input") return $(fieldname + "_label"); } PortalTools.GetControlLabel = GetControlLabel; function RemoveValidatorRecord(fieldname) { if (fieldname.charAt(0) !== "#") fieldname = "#" + fieldname; if (!exists(fieldname) || typeof (Page_Validators) == 'undefined') return; Page_Validators = Page_Validators.filter(function (p) { return p.controltovalidate !== fieldname; }); } PortalTools.RemoveValidatorRecord = RemoveValidatorRecord; /** * Will add the internal primary function to the change event for the provided field. * @param fieldname */ function addOnChangeEvents(fieldname, onchangefunction) { if (!exists(fieldname)) return; $(fieldname).change(onchangefunction); } PortalTools.addOnChangeEvents = addOnChangeEvents; /** * Will Determine if the supplied string has a field and wil return a boolean if it exists. * @param fieldname */ function validate(fieldname) { fieldname = validatefieldid(fieldname); return exists(fieldname); } PortalTools.validate = validate; /** * Determines if the jQuery control is present on the form. *Does not change field name value* * @param fieldname */ function exists(fieldname) { return $(fieldname).length > 0; } PortalTools.exists = exists; /** * Verifies the string name is in jQuery format, if not it is updated. * @param name */ function validatefieldid(name) { if (name.length > 0 && name.charAt && name.charAt(0) !== "#") return "#" + name; return name; } PortalTools.validatefieldid = validatefieldid; /** * Verifies the string name is in jQuery format, if not it is updated. * @param name */ function removefieldid(name) { if (name.length > 0 && name.charAt && name.charAt(0) === "#") return name.slice(1); return name; } PortalTools.removefieldid = removefieldid; function toarray(value, isid) { if (!value) return []; if (Array.isArray(value)) return value.map(function (v) { return v = isid ? validatefieldid(v) : v; }); if (typeof (value) === 'string') return [isid ? validatefieldid(value) : value]; } PortalTools.toarray = toarray; /** * Will verify each value supplied has an # at start and set it if missing. * @param gridstovalidate * @param buttonname */ function validatearrayitems(arraytovalidate, isid) { var array = toarray(arraytovalidate, isid === true); //Validate supplied controls var hasValidItems = true; array.forEach(function (fieldname, index) { return validate(fieldname) && isid === true ? array[index] = validatefieldid(fieldname) : hasValidItems = false; }); return hasValidItems; } PortalTools.validatearrayitems = validatearrayitems; var FormatField; (function (FormatField) { function FormatMoney(value, addcommas, roundto, callbackfunction) { value = validatefieldid(value); if (exists(value) === false) return; reformatmoney(value, addcommas, roundto); if (!PortalTools.FormatField._Formatter) PortalTools.FormatField._Formatter = []; var formatter = new Formatter(value, "", addcommas, roundto, false, false); formatter.callback = GetFormatMoney(); PortalTools.FormatField._Formatter.push(formatter); PortalTools.addOnChangeEvents(value, callbackfunction ? callbackfunction : formatter.callback); } FormatField.FormatMoney = FormatMoney; function GetFormatMoney() { return function formatmoney() { var _this = this; var formatrecord = PortalTools.FormatField._Formatter.filter(function (f) { return f.fieldname === PortalTools.validatefieldid(_this.id); }); formatrecord.forEach(function (record) { return reformatmoney(record.fieldname, record.addcommas, record.roundto); }); }; } FormatField.GetFormatMoney = GetFormatMoney; function reformatmoney(name, addcommas, roundto) { var number = $(validatefieldid(name)); var numVal = number.val(); if (!numVal) return; //strip NaN numVal = numVal.replace(/[^0-9.]/g, ""); //set to n or 2 places numVal = parseFloat(numVal).toFixed(roundto ? roundto : 2); if (addcommas) numVal = numVal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); //push to control number.val(numVal); } FormatField.reformatmoney = reformatmoney; var Formatter = /** @class */ (function () { function Formatter(fieldname, fieldvalue, addcommas, roundto, display, require) { this.fieldname = fieldname; this.fieldvalue = fieldvalue; this.addcommas = addcommas; this.roundto = roundto; this.display = display; this.require = require; } return Formatter; }()); FormatField.Formatter = Formatter; })(FormatField = PortalTools.FormatField || (PortalTools.FormatField = {})); var GridValidator; (function (GridValidator) { /** * Primary Function to add Grid Validation to any page. This logic creates a fake button to replace the supplied, it will validate the supplied grid has at least 1 record before clicking intended button. * @param gridstovalidate - string array - ["#new_field", "#new_field1", "#new_field2"] * @param buttonname - name of the save/submit button * @param onclickfunction - callback function for when the newly created button is clicked * @param errormessage [optional] - return message displayed to end user. */ function ValidateGridsHaveRecordsBeforeButtonClick(gridstovalidate, buttonname, onclickfunction, errormessages) { if (!validate(buttonname)) return; buttonname = validatefieldid(buttonname); gridstovalidate = toarray(gridstovalidate, true); errormessages = toarray(errormessages, false); if (validatearrayitems(gridstovalidate, true) === false) return; if (gridstovalidate.length > 1 && errormessages.length !== gridstovalidate.length) alert("DEV ALERT: The validation request does not have an error message per grid control being validated. Please ensure that every supplied grid as one error message."); //Push to mem if (SetMemory(gridstovalidate, buttonname, errormessages, null) === false) return; //Create New Button if (!GridValidator._gridButton) GridValidator._gridButton = CreateCustomSaveButton(buttonname, buttonname + "_gridvalidatortool", onclickfunction ? onclickfunction : GetNewButtonDefaultCallback()); } GridValidator.ValidateGridsHaveRecordsBeforeButtonClick = ValidateGridsHaveRecordsBeforeButtonClick; /** * Will create a logic to on button click (supplied), validate the grid(s) match the supplied value(s) before that click event is run. * @param gridtovalidate - single grid record to validate. * @param buttonname - name of button to be bypassed. * @param valuestocheck - value(s) in array or single, to verify presence of during save. * @param onclickfunction [optional] - function to set for onclick verification. * @param errormessage [optional] - return message displayed to end user. */ function ValidateGridHasValuesBeforeButtonClick(gridtovalidate, buttonname, valuestocheck, onclickfunction, errormessage) { if (!validate(buttonname)) return; buttonname = validatefieldid(buttonname); valuestocheck = toarray(valuestocheck, false); var gridstovalidate = toarray(gridtovalidate, true); if (validatearrayitems(toarray(gridtovalidate, false), true) === false) return; var errormessages = toarray(errormessage, false); //Push values to memory if (SetMemory(gridstovalidate, buttonname, errormessages, valuestocheck) === false) return; //Create New Button if (!GridValidator._gridButton) GridValidator._gridButton = CreateCustomSaveButton(buttonname, buttonname + "_gridvalidatortool", onclickfunction ? onclickfunction : GetNewButtonDefaultCallback()); } GridValidator.ValidateGridHasValuesBeforeButtonClick = ValidateGridHasValuesBeforeButtonClick; function SetMemory(gridstovalidate, buttonname, errormessage, valuestocheck) { try { //create mem obj if (!GridValidator._gridValidator) { if (valuestocheck === null) GridValidator._gridValidator = new GridValidator.ValidationData(new Validation(gridstovalidate, null, buttonname, errormessage), null); else GridValidator._gridValidator = new GridValidator.ValidationData(null, new Validation(gridstovalidate, valuestocheck, buttonname, errormessage)); } else if (valuestocheck === null) gridstovalidate.forEach(function (grid, index) { return GridValidator._gridValidator.ValdateGridRecords.records.push(new ValidationRecord(grid, null, false, errormessage[index] ? errormessage[index] : null)); }); else valuestocheck.forEach(function (value, index) { return GridValidator._gridValidator.ValdateGridsValues.records.push(new ValidationRecord(gridstovalidate[0], value, false, errormessage[index] ? errormessage[index] : null)); }); //if button name not set GridValidator._gridValidator.ValdateGridRecords.buttonName = buttonname; GridValidator._gridValidator.ValdateGridsValues.buttonName = buttonname; return true; } catch (_a) { return false; } } GridValidator.SetMemory = SetMemory; function GetNewButtonDefaultCallback() { return function () { ValidateAllGrids(); if (GridValidator._gridValidator.ValdateGridsValues.records.filter(function (r) { return r.isvalid === false; }).length < 1 && GridValidator._gridValidator.ValdateGridRecords.records.filter(function (r) { return r.display === false; }).length < 1) $(validatefieldid(GridValidator._gridValidator.ValdateGridRecords.buttonName)).trigger("click"); else { AlertGridValidation(true, true); } }; } GridValidator.GetNewButtonDefaultCallback = GetNewButtonDefaultCallback; function ValidateAllGrids() { ValidateRecords(); ValidateValues(); } GridValidator.ValidateAllGrids = ValidateAllGrids; function ValidateRecords() { if (GridValidator._gridValidator.ValdateGridRecords.records !== null && GridValidator._gridValidator.ValdateGridRecords.records.length > 0) GridValidator._gridValidator.ValdateGridRecords.records.forEach(function (record) { return MustHaveOneRecord(record); }); } GridValidator.ValidateRecords = ValidateRecords; function ValidateValues() { if (GridValidator._gridValidator.ValdateGridsValues.records !== null && GridValidator._gridValidator.ValdateGridsValues.records.length > 0) GridValidator._gridValidator.ValdateGridsValues.records.forEach(function (r) { return ValidateControlValue(r); }); } GridValidator.ValidateValues = ValidateValues; function AlertGridValidation(alertrecords, alertvalues) { var message = ""; if (alertrecords) GridValidator._gridValidator.ValdateGridRecords.records.filter(function (r) { return r.display === false; }).forEach(function (record) { return message += message.indexOf(record.errorMessage) < 0 && record.errorMessage !== null ? record.errorMessage + "\n" : ""; }); if (alertvalues) GridValidator._gridValidator.ValdateGridsValues.records.filter(function (r) { return r.isvalid === false; }).forEach(function (record) { return message += message.indexOf(record.errorMessage) < 0 && record.errorMessage !== null ? record.errorMessage + "\n" : ""; }); alert(message); } GridValidator.AlertGridValidation = AlertGridValidation; /** * * @param record */ function ValidateControlValue(record) { record.isvalid = true; if (!exists(record.controlToValidate)) { //not on form record.isvalid = false; return; } var body = $(validatefieldid(record.controlToValidate) + ' > div > div.view-grid > table > tbody'); if (body.length < 1 || body[0].children.length < 1) { //View Grid missing record.isvalid = true; return; } var rows = body[0].children; var itemstocheck = GridValidator._gridValidator.ValdateGridsValues.records.filter(function (r) { return r.controlToValidate === record.controlToValidate; }); for (var r = 0; r < rows.length; r++) { var message = rows[r].innerText.split("\t"); if (itemstocheck.every(function (record) { return message.includes(record.valueToValidate); })) record.isvalid = false; } } GridValidator.ValidateControlValue = ValidateControlValue; function MustHaveOneRecord(item) { if (!exists(item.controlToValidate)) return true; //not on form var fieldname = validatefieldid(item.controlToValidate); var children = $(fieldname)[0].firstElementChild.children; if (typeof (children) === 'undefined' || children === null) item.display = false; for (var i = 0; i < children.length; i++) { //@ts-ignore if (typeof (children[i].className) === 'undefined' && typeof (children[i].style) === 'undefined') item.display = false; //@ts-ignore if (children[i].className === 'view-empty message' && children[i].style.hasOwnProperty("display") && children[i].style.display !== "block") item.display = true; } } GridValidator.MustHaveOneRecord = MustHaveOneRecord; /** * Principle Validation Memory Object * */ var ValidationData = /** @class */ (function () { function ValidationData(validategridrecords, validategridsvalues) { this.ValdateGridRecords = validategridrecords ? validategridrecords : new Validation(); this.ValdateGridsValues = validategridsvalues ? validategridsvalues : new Validation(); } return ValidationData; }()); GridValidator.ValidationData = ValidationData; /** * Generic for each valtion record type * */ var Validation = /** @class */ (function () { function Validation(gridstovalidate, valuestovalidate, buttonname, errorMessage) { this.buttonName = buttonname ? buttonname : ""; this.records = []; if (valuestovalidate === null) gridstovalidate.forEach(function (grid, index) { return GridValidator._gridValidator.ValdateGridRecords.records.push(new ValidationRecord(grid, null, false, errorMessage[index] ? errorMessage[index] : null)); }); else if (gridstovalidate && valuestovalidate) valuestovalidate.forEach(function (value, index) { return GridValidator._gridValidator.ValdateGridsValues.records.push(new ValidationRecord(gridstovalidate[0], value, false, errorMessage[index] ? errorMessage[index] : null)); }); } return Validation; }()); GridValidator.Validation = Validation; var ValidationRecord = /** @class */ (function () { function ValidationRecord(control, value, display, errormessage) { this.display = false; this.isvalid = false; this.controlToValidate = control ? control : ""; this.valueToValidate = value ? value : ""; this.errorMessage = errormessage; } ; return ValidationRecord; }()); GridValidator.ValidationRecord = ValidationRecord; GridValidator._gridValidator = new ValidationData(); })(GridValidator = PortalTools.GridValidator || (PortalTools.GridValidator = {})); var FilterFieldLookUp; (function (FilterFieldLookUp) { /** * Primary Function that will set a lookup field to the provided values. * @param id traditional Guid value. * @param name Name of the record being set, this is what the user will see in the lookup field. * @param entityname schema of the record, NOT always the name of the field. * @param fieldname this is the name of the field on the form. */ function SetLookupField(id, name, entityname, fieldname) { if (fieldname.charAt(0) !== "#") fieldname = "#" + fieldname; var field = $(fieldname); if (!field) return; $(fieldname + "_name").attr("value", name); $(fieldname).attr("value", id); $(fieldname + "_entityname").attr("value", entityname); } FilterFieldLookUp.SetLookupField = SetLookupField; })(FilterFieldLookUp = PortalTools.FilterFieldLookUp || (PortalTools.FilterFieldLookUp = {})); //filter field var PhoneValidator; (function (PhoneValidator) { PhoneValidator.regexInvalidPattern = new RegExp(/\D/g); /** * Primary function to filter a field with phone validation. * @param fieldname */ function FilterPhoneNumber(fieldname) { if (fieldname.charAt(0) !== "#") fieldname = "#" + fieldname; if (!exists(fieldname)) return; //set on change PortalTools.addOnChangeEvents(fieldname, PortalTools.PhoneValidator.GetfilterPhoneNumber()); ProcessOnLoad(fieldname); } PhoneValidator.FilterPhoneNumber = FilterPhoneNumber; function ProcessOnLoad(fieldname) { var phoneNumberField = $(fieldname); if (phoneNumberField.val() === null || phoneNumberField.val() === "") return; //basic validation if (testPhoneNumber(fieldname)) stripNonValidCharacters(phoneNumberField); //format formatPhoneNumber(phoneNumberField); } PhoneValidator.ProcessOnLoad = ProcessOnLoad; function GetfilterPhoneNumber() { return function () { if (!this || this.value === null || this.value === "" || !$("#" + this.id)) return; if (testPhoneNumber(this.value)) stripNonValidCharacters($("#" + this.id)); formatPhoneNumber($("#" + this.id)); }; } PhoneValidator.GetfilterPhoneNumber = GetfilterPhoneNumber; /** * returns a boolean that indicates if the value of the field who's name is provided passes the internal validation. * @param fieldname */ function testPhoneNumber(fieldvalue) { return PhoneValidator.regexInvalidPattern.test(fieldvalue); } PhoneValidator.testPhoneNumber = testPhoneNumber; function stripNonValidCharacters(field) { if (PhoneValidator.regexInvalidPattern && field.val()) field.val(field.val().replace(PhoneValidator.regexInvalidPattern, '')); } PhoneValidator.stripNonValidCharacters = stripNonValidCharacters; function formatPhoneNumber(phoneNumberField) { var string = phoneNumberField.val(); phoneNumberField.val('(' + string.substring(0, 3) + ') ' + string.substring(3, 6) + '-' + string.substring(6, 10)); } PhoneValidator.formatPhoneNumber = formatPhoneNumber; })(PhoneValidator = PortalTools.PhoneValidator || (PortalTools.PhoneValidator = {})); //phone /** * * @param fieldname */ var Form_Type = /** @class */ (function () { function Form_Type() { this.FORM_TYPE_CREATE = 1; this.FORM_TYPE_UPDATE = 2; this.FORM_TYPE_READ_ONLY = 3; this.FORM_TYPE_DISABLED = 4; this.FORM_TYPE_QUICK_CREATE = 5; this.FORM_TYPE_BULK_EDIT = 6; } return Form_Type; }()); var CallbackData = /** @class */ (function () { function CallbackData(fieldname, fieldvalue, fieldtodisplay, closest, display, require) { this.fieldname = fieldname; this.fieldtodisplay = fieldtodisplay; this.fieldvalue = fieldvalue; this.closest = closest; this.display = display; this.require = require; } return CallbackData; }()); })(PortalTools || (PortalTools = {})); //PortalTools //# sourceMappingURL=PortalTools.js.map