{"version":3,"file":"js/RequiredIfValidation.min.js","mappings":"oBAmEA,SAASA,EAAsBC,GAE3B,MAAoB,iBAATA,EACAA,EAAMC,cAGVD,CACX,CAzEAE,EAAEC,UAAUC,UAAU,cAAc,SAAUJ,EAAOK,EAASC,GAE1D,IAAIC,EAAkBC,KAAKC,MAAMH,EAAOI,cACpCC,GAAa,EAmDjB,OAjDAT,EAAEU,KAAKL,GAAiB,SAAUM,EAAOC,GAErCZ,EAAEU,KAAKE,EAAiBC,sBAAsB,SAAUF,EAAOG,GAE3D,IAAIC,EAAc,GAEdC,EAAmBb,EAAQc,GAAGC,MAAM,KAEpCF,EAAiBG,OAAS,IAC1BJ,EAAcC,EAAiB,GAAK,KAGxC,IAAII,EAAuBpB,EAAE,IAAMe,EAAcD,GAAqBO,MAClEC,EAAoBtB,EAAE,IAAMG,EAAQc,IAAII,MAC5C,KA0CgBE,EA1COD,KA4CbC,EAAMC,OAnCZ,OANIC,MAAMC,QAAQN,IAAyBA,EAAqBD,OAAS,EACrEC,EAAuBA,EAAqBO,IAAI9B,GACV,iBAAxBuB,IACdA,EAAuBA,EAAqBrB,eAGxCa,EAAiBgB,gBAErB,KAAK,EACD,GAAIhB,EAAiBiB,iBAAiBF,IAAI9B,GAAuBiC,SAASV,GAGtE,YADAX,GAAa,GAGjB,MAEJ,KAAK,EACD,IAAKG,EAAiBiB,iBAAiBC,SAASV,GAG5C,YADAX,GAAa,GAoBzC,IAA4Bc,CAZpB,GAEJ,MACoBd,IACuBX,EAE/C,IACAE,EAAEC,UAAU8B,YAAYC,SAASC,IAAI,aAAc,CAAC,iBAAiB,SAAUC,GAC3EA,EAAQC,MAAkB,WAAI,CAAE3B,aAAc0B,EAAQ9B,OAAOI,cAC7D0B,EAAQE,SAAqB,WAAIF,EAAQG,OAC7C,K","sources":["webpack://Wlt/./wwwroot/src/scripts/RequiredIfValidation.ts"],"sourcesContent":[" \r\n$.validator.addMethod('requiredif', function (value, element, params) {\r\n \r\n let RequireIfValues = JSON.parse(params.clientvalues);\r\n let hasFailure = false;\r\n \r\n $.each(RequireIfValues, function (index, reqwireIfRequest) {\r\n \r\n $.each(reqwireIfRequest.comparisonFieldNames, function (index, comparisonFieldName) {\r\n //This is a workaround for nested models that appends the model name from the primary field to the id and name of the secondary field so we can get it's value. \r\n let modelPrefix = \"\";\r\n \r\n let secondaryFieldId = element.id.split(\"_\");\r\n \r\n if (secondaryFieldId.length > 1) {\r\n modelPrefix = secondaryFieldId[0] + \"_\";\r\n }\r\n \r\n let comparisonFieldValue = $('#' + modelPrefix + comparisonFieldName).val();\r\n let primaryFieldValue = $('#' + element.id).val();\r\n if (isNullOrWhitespace(primaryFieldValue)) {\r\n\r\n //We want to do a lowercase comparsion for string array values or if the value is a string in general.\r\n if (Array.isArray(comparisonFieldValue) && comparisonFieldValue.length > 0) {\r\n comparisonFieldValue = comparisonFieldValue.map(mapStringArrayToLower);\r\n } else if (typeof comparisonFieldValue == 'string') {\r\n comparisonFieldValue = comparisonFieldValue.toLowerCase();\r\n }\r\n\r\n switch (reqwireIfRequest.comparisonRule) {\r\n\r\n case 0:\r\n if (reqwireIfRequest.comparisonValues.map(mapStringArrayToLower).includes(comparisonFieldValue)) {\r\n\r\n hasFailure = true;\r\n return;\r\n }\r\n break;\r\n\r\n case 1:\r\n if (!reqwireIfRequest.comparisonValues.includes(comparisonFieldValue)) {\r\n\r\n hasFailure = true;\r\n return;\r\n }\r\n break;\r\n\r\n default: break;\r\n }\r\n }\r\n });\r\n\r\n });\r\n let valueRequired = hasFailure;\r\n let requiredAndNoValue = valueRequired && !value;\r\n return !requiredAndNoValue;\r\n});\r\n$.validator.unobtrusive.adapters.add('requiredif', ['clientvalues'], function (options) {\r\n options.rules['requiredif'] = { clientvalues: options.params.clientvalues };\r\n options.messages['requiredif'] = options.message;\r\n});\r\n\r\nfunction isNullOrWhitespace(input) {\r\n\r\n return !input || !input.trim();\r\n}\r\n\r\nfunction mapStringArrayToLower(value) {\r\n\r\n if (typeof value == 'string') {\r\n return value.toLowerCase();\r\n }\r\n\r\n return value;\r\n}"],"names":["mapStringArrayToLower","value","toLowerCase","$","validator","addMethod","element","params","RequireIfValues","JSON","parse","clientvalues","hasFailure","each","index","reqwireIfRequest","comparisonFieldNames","comparisonFieldName","modelPrefix","secondaryFieldId","id","split","length","comparisonFieldValue","val","primaryFieldValue","input","trim","Array","isArray","map","comparisonRule","comparisonValues","includes","unobtrusive","adapters","add","options","rules","messages","message"],"sourceRoot":""}