{"version":3,"sources":["../Areas/Framework/Scripts/utility/labels-utility.js","../Areas/Framework/Scripts/utility/utility.js","../Areas/Framework/Scripts/utility/hotkey-utility.js","../Areas/Framework/Scripts/utility/text-utility.js","../Areas/Framework/Scripts/utility/form-utility.js"],"names":["S_CONTINUE","S_CONFIRMATION","S_CONFIRM_EXIT_DATA_LOST","S_SUCCESS","S_UPLOAD_CANCELLED","S_UPLOAD_ABORTED","S_UPLOAD_RECORDS_SUCCESS","S_SOMETHING_WENT_WRONG","S_GENERATE_MODAL_BILLING","S_DISCLAIMER_AGREE","S_ANY_CHANGES_WONT_AFFECT","S_CONFIRM_UPLOAD","sFileName","S_GENERATE_INITIAL_BILLING","sCompanyName","S_GENERATE_MISC_BILLING","S_POST_ADJUSTMNET_BILLING","S_UPLOAD_FAILED_ROWS","iFailedRowCount","iTotalRowCount","S_UPLOAD_DESCREPANCY_ROWS","S_KEEN_DATATABLE_ERROR","objJqXhr","status","statusText","S_JQUERY_DATATABLE_ERROR","sErrMsg","S_ALLOWED_SERVICES_ONLY","S_ALLOWED_MEMBERS_ONLY","S_CONFIRM_SAVE_FEE","S_SAVE_FEE_SUCCESS","S_CONFIRM_SAVE_PROVIDER_ACCESS","S_SAVE_PROVIDER_ACCESS_SUCCESS","sSaveType","S_ALLOWED_PROVIDERS_ONLY","S_RESTRICTED_PROVIDERS_ONLY","S_APPROVE_CONTRACT_SETUP_SUCCESS","S_RETRIEVE_APPROVAL_CONTRACT_SETUP_SUCCESS","S_FLAG_TEMPLATE_AND_PLAN_AS_APPROVED_SUCCESS","sPlanName","S_FLAG_PLAN_AS_REVIEWED_SUCCESS","S_CONFIRM_SAVE_TEMPLATE_AND_PLAN","S_CONFIRM_SAVE_TEMPLATE_AND_PLAN_SUCCESS","sTemplateType","S_CONFIRM_SAVE_RETAIL_TEMPLATE","S_CONFIRM_UPDATE_RETAIL_TEMPLATE","S_CONFIRM_SAVE_RETAIL_TEMPLATE_SUCCESS","S_CONFIRM_RECREATE_LIMITS","S_RECREATE_LIMITS_SUCCESS","S_CONFIRM_SAVE_SA_INNER_LIMITS","S_SAVE_SA_INNER_LIMITS_SUCCESS","S_CONFIRM_SAVE_INNER_LIMIT","S_SAVE_INNER_LIMIT_SUCCESS","S_CONFIRM_SAVE_OUTER_LIMIT","S_SAVE_OUTER_LIMIT_SUCCESS","S_QUICK_SEARCH_CHAR_LIMIT","S_CONFIRM_GENERATE_MOVEMENT","S_GENERATE_MOVEMENT_SUCCESS","S_CONFIRM_SAVE_SPECIFY_BATCH_NO","S_CONFIRM_SAVE_SPECIFY_BATCH_NO_SUCCESS","S_CONFIRM_SAVE_TOLERANCE_SETTINGS","S_CONFIRM_SAVE_TOLERANCE_SETTINGS_SUCCESS","S_CONFIRM_SAVE_AMOUNT_REASON","S_CONFIRM_SAVE_AMOUNT_REASON_SUCCESS","S_CONFIRM_SAVE_ADJUSTMENT_REASON","S_CONFIRM_SAVE_ADJUSTMENT_SUCCESS","blinkElement","element","delay","fadeOut","fadeIn","objToUrlParam","obj","Object","keys","map","key","join","blockUi","message","KApp","block","overlayColor","opacity","type","state","blockUiNoSpinner","_size","blocknospinner","size","unBlockUi","unblock","openInNewtab","modulecode","restrictioncode","$","post","urlSetter","replace","response","access","window","open","action","controller","swal","openLink","area","toUpperCase","location","getUrlParam","parameter","defaultvalue","urlparameter","href","indexOf","getUrlVars","vars","m","value","setTabIndexes","document","on","attr","each","index","input","tabIndex","htmlEntities","str","String","deepClone","initalObj","finalObj","i","prop","constructor","Array","ResetQueryContainer","QueryContainer","find","val","el","change","initMap","anchorEl","center","lat","long","zoom","Number","google","maps","Map","LatLng","Marker","position","initLeafletMap","L","latLng","provider","tileLayer","attribution","marker","addTo","initEmbeddedGMap","providername","uri","encodeURI","html","getBase64","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","onerror","error","convertToObject","serializeForm","data","split","toggleShowPassword","btn","css","parent","e","off","addClass","removeClass","toggleClearInput","hiddenInput","initDatatable","dtContainer","KDatatable","destroy","datatable","err","debugError","errMsg","toastr","options","closeButton","debug","newestOnTop","progressBar","positionClass","preventDuplicates","onclick","showDuration","hideDuration","timeOut","extendedTimeOut","showEasing","hideEasing","showMethod","hideMethod","console","toastrError","toastrWarning","hideduration","title","warning","toastrInfo","info","toastrSuccess","msg","success","toastrError_NoAutoHide","toastrInfo_NoAutoHide","clearQuickSearch","container","validator","addMethod","params","end","dateNow","moment","format","setTimeout","proxy","this","optional","isAfter","isSame","start","dateToBeCompared","days","targetMaxDate","add","isBefore","interveningPeriodFrom","interveningPeriodTo","startDate","Date","parse","endDate","enteredDate","parseFloat","valid","param","files","notEqual","trim","length","same","value1","value2","minimumCoverage","maximumCoverage","equalToZero","nelAmount","nmlAmount","ageFromPrin","parseInt","ageToPrin","ageFrom","ageTo","paramAgeTo","paramAgeFromTerm","paramAgeToTerm","paramDayFrom","ageEqualToZero","fromMultiplier","toMultiplier","paramAgeFrom","paramDayTo","fn","extend","trackChanges","form","isChanged","animateCss","animationName","callback","one","putCursorAtEnd","$el","is","focus","setSelectionRange","len","scrollTop","isOnScreen","partial","box","first","getBoundingClientRect","win","height","width","topEdgeInRange","top","bottomEdgeInRange","bottom","leftEdgeInRange","left","rightEdgeInRange","right","coverScreenHorizontally","coverScreenVertically","topEdgeInScreen","bottomEdgeInScreen","leftEdgeInScreen","rightEdgeInScreen","expr","filters","onscreen","elem","entireonscreen","navigator","sendBeacon","url","client","XMLHttpRequest","setRequestHeader","send","formUtil","massConvertFormatToCurrency","arrCurrencyProperty","hasOwnProperty","formatToCurrency","resetSaveForm","saveForm","_validated","trigger","rbGroup","cb","next","select","selectpicker","hasClass","resetForm","errorElements","validate","_this","_validatedForm","errorElement","errorClass","rules","custom","ignore","messages","errorPlacement","unhighlight","submitHandler","undefined","successMessage","customValidations","ajaxSave","parents","preSave","_type","_url","_data","serialize","ajax","done","textStatus","xhr","saveSuccessCallback","isTwoSubmit","submitType","Error","dataTable","reload","HTMLElement","status_code","reason","fail","always","fillFormData","dateArray","inputTypes","includes","convertDateMMDDYYYY","datepicker","updateCheckBoxValue","n","currentTarget","v","fixTabindex","selectTextOnFocus","getFirstInput","listInput","validateElement","strElSelecter","setMultiSelectCorrectOrder","selectElement","clickedIndex","isSelected","arrSelectedOptions","children","filter","arrSelectedOrder","arrSelectedValue","push","a","item","SwalYesNo","objOptions","confirmFunction","denyFunction","text","showCancelButton","confirmButtonText","cancelButtonText","reverseButtons","allowOutsideClick","allowEscapeKey","allowEnterKey","then","res","SwalYes","customContainerClass","delayExec","ms","swalConfirm","swalInfo","swalConfirmYes","ApiErrorException","errorMsg","Message","error_description","popOverUpdate","shownPopover","popover","FocusOnLastRowOnModalHide","onLastCell","stored","lastRow","lastRowIndex","lastCell","lastCellIndex","distinctProp","focusOnLastRow","openedModals","modal","getLastRowAndFocus","suspectedRow","getDistinctProperty","target","cell","row","preventBlurEventIfSameLastValue","$inputs","lastValue","stopImmediatePropagation","truncateLongText","truncateText","getDecimal","nFloat","Math","floor","PasswordToggler","formGroup","checkBox","prepend","click","inputExceeded","s","append","remove","MemberTypeToolTip","arrMemberType","apiCallBack","makeTooltip","arrData","sHtml","membertype","description","htmlTooltip","tooltip","getJSON","classorder","CustomPopOver","selector","defaults","minWidth","maxHeight","header","spinner","setDefaults","content","onShownEvent","onHiddenEvent","async","onClickEvent","validateShow","setLedgerHotKeys","fulldirect","elFocused","activeElement","elFocusedRow","closest","dTable","ledgerID","dataTableID","datafield","indexField","prevrow","prev","prevtel","nextrow","nextel","modalID","ctrlKey","which","preventDefault","_newFocus","onCtrlG","log","elPrev","elNext","elModal","toString","openmodal","openmodals","eq","onEnter","prevAll","onUp","onDown","setQueryHotKeys","elContainer","searchContainer","onCtrlA","onF6","onF9","onF7","onF8","SetFormIndexHotKey","override","nextInput","SetFormHotkey","listFormInputs","prev_index","firstInputEvent","firstinput","proceedToNextElement","getNextVisibleInput","altKey","onI","onEsc","savebutton","savecontinuebutton","onF11","onF12","id","currentInput","shiftKey","SetModalHotkeys","dataNullOrEmpty","string","dataNullOrEmptyV2","dataNullOrEmptyV3","stringToParseFloat","replaceStringIfMatch","match","number","fixedNumber","toFixed","formattedNumber","formatToCurrencyNoRounding","formatToCurrencyFourDecimalPlaces","numParts","formatToDecimalPlaces","decimal","formatToDecimalNoRounding","formatToNumber","roundOff","decimals","toSentenceCase","toLowerCase","validateEmail","test","setValueIfNull","newvalue","fields","ex","setValueIf","oldvalue","returnValueIf","compareto","tinFormat","field","num","substring","replaceDoubleQuotes","padZeroes","padLeft","substr","truncate","useWordBoundary","subString","lastIndexOf","htmlDecode","removeCommas","nullToStringDefault","capitalizedString","toCapitalCasing","removeSpecialChars","getProviderAddress","address","streetaddress","cityname","provincename","exception","getCompleteAddress","convertPoundsToKilo","pounds","isNaN","kilo","round","convertKiloToPounds","convertFeetToMeter","feet","inches","meter","convertMeterToFeet","ordinalSuffixOf","j","k","selectionStart","selectionEnd","createTextRange","range","collapse","moveEnd","moveStart","setCaretToPos","pos","getFlooredFixed","d","pow","DOMParser","parseFromString","documentElement","textContent","prototype","txt","charAt","isEmptyThen","stringDefault","addSlashes","fillup_form","values","disablefields","placeholder","withplaceholder","_element","_elementtype","elementtpye","_datatype","datatype","_callback","fillupformbyname","dateFields","currencyFields","timefields","selectFields","numberFields","elInput","dataValue","dataKey","tagName","sKey","forEach","fillUpForm","ckey"],"mappings":"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","file":"signin.index.min.js","sourcesContent":["let S_CONTINUE = `Do you want to continue?`;\r\nlet S_CONFIRMATION = `Confirmation`;\r\nlet S_CONFIRM_EXIT_DATA_LOST = `Are you sure you want to exit? All details entered will be lost.`;\r\nlet S_SUCCESS = `Success!`;\r\nlet S_UPLOAD_CANCELLED = `Upload has been Cancelled`;\r\nlet S_UPLOAD_ABORTED = `Upload has been aborted`;\r\nlet S_UPLOAD_RECORDS_SUCCESS = `All records has been uploaded successfully.`;\r\nlet S_SOMETHING_WENT_WRONG = `Something went wrong. Please try again.`;\r\nlet S_GENERATE_MODAL_BILLING = `Are you sure you want to generate a Modal Billing for the selected Cutoff?`;\r\nlet S_DISCLAIMER_AGREE = `Please read and agree with the above disclaimer.`;\r\nlet S_ANY_CHANGES_WONT_AFFECT = `Please take note that any changes that will made on this document will not affect the original content of the MAS record.`;\r\n\r\nlet S_CONFIRM_UPLOAD = function (sFileName = '') { return `You are about to upload ${sFileName}`; };\r\nlet S_GENERATE_INITIAL_BILLING = function (sCompanyName = '') { return `Are you sure you want to create Initial billing for ${sCompanyName} ?`; };\r\nlet S_GENERATE_MISC_BILLING = function (sCompanyName = '') { return `Are you sure you want to create Miscellaneous billing for ${sCompanyName} ?`; };\r\nlet S_POST_ADJUSTMNET_BILLING = function (sCompanyName = '') { return `Are you sure you want to post Adjustment for ${sCompanyName}?`; };\r\nlet S_UPLOAD_FAILED_ROWS = function (iFailedRowCount = 0, iTotalRowCount = 0) { return `${iFailedRowCount} / ${iTotalRowCount} records failed.`; };\r\nlet S_UPLOAD_DESCREPANCY_ROWS = function (iFailedRowCount = 0, iTotalRowCount = 0) { return `${iFailedRowCount} / ${iTotalRowCount} records failed.`; };\r\n\r\nlet S_KEEN_DATATABLE_ERROR = function (objJqXhr = { status: '', statusText: '' }) { return `An error has been reported by KDataTables: ${objJqXhr.status} ${objJqXhr.statusText}.`; };\r\nlet S_JQUERY_DATATABLE_ERROR = function (sErrMsg = '') { return `An error has been reported by DataTables: ${sErrMsg}.`; };\r\n\r\n// Benefit Template / Plan Labels\r\nlet S_ALLOWED_SERVICES_ONLY = `Selected applicable service are greater than the covered services from the benefit plan, attempt to add/change applicable services is denied.`;\r\nlet S_ALLOWED_MEMBERS_ONLY = `Selected member types are greater than the benefit plan's member types. Attempt to add/change member type is denied.`;\r\n\r\nlet S_CONFIRM_SAVE_FEE = `Are you sure you want to save this fee?`;\r\nlet S_SAVE_FEE_SUCCESS = `Your fee has been saved.`;\r\n\r\nlet S_CONFIRM_SAVE_PROVIDER_ACCESS = `Are you sure you want to save this provider access?`;\r\nlet S_SAVE_PROVIDER_ACCESS_SUCCESS = function (sSaveType = '') { return sSaveType === 'CREATE' ? `Sucessfully added Provider to the list.` : `Sucessfully updated the Provider Access.` };\r\nlet S_ALLOWED_PROVIDERS_ONLY = `The system detected that this plan already have Allowed Providers, adding restricted providers will not be allowed.`;\r\nlet S_RESTRICTED_PROVIDERS_ONLY = `The system detected that this plan already have Restricted Providers, adding allowed providers will not be allowed.`;\r\n\r\nlet S_APPROVE_CONTRACT_SETUP_SUCCESS = `The Selected Contract Setup has been successfully Approved.`;\r\nlet S_RETRIEVE_APPROVAL_CONTRACT_SETUP_SUCCESS = `The Selected Contract Setup has been Retrieved for Approval Successfully.`;\r\nlet S_FLAG_TEMPLATE_AND_PLAN_AS_APPROVED_SUCCESS = function (sPlanName = '') { return `${sPlanName} is now tagged as Approved.`; };\r\nlet S_FLAG_PLAN_AS_REVIEWED_SUCCESS = function (sPlanName = '') { return `${sPlanName} is now tagged as Reviewed.`; };\r\n\r\nlet S_CONFIRM_SAVE_TEMPLATE_AND_PLAN = function (sSaveType = '') { return sSaveType === 'CREATE' ? `Are you sure you want to create this Benefit Plan?` : sSaveType === 'UPDATE' ? `Are you sure you want to update this Benefit Plan?` : `Are you sure you want to amend this Benefit Plan?`; };\r\nlet S_CONFIRM_SAVE_TEMPLATE_AND_PLAN_SUCCESS = function (sTemplateType = '') { return sTemplateType === 'PER_COMPANY' ? `Successfully saved Benefit Plan.` : `Your benefit plan template has been saved!`; };\r\nlet S_CONFIRM_SAVE_RETAIL_TEMPLATE = `Are you sure you want to save this benefit plan template?`;\r\nlet S_CONFIRM_UPDATE_RETAIL_TEMPLATE = `Are you sure to save changes on this benefit plan template?`;\r\nlet S_CONFIRM_SAVE_RETAIL_TEMPLATE_SUCCESS = `Your benefit plan template has been saved!`;\r\n\r\nlet S_CONFIRM_RECREATE_LIMITS = `Are you sure you want to recreate these limits?`;\r\nlet S_RECREATE_LIMITS_SUCCESS = `Limits successfully recreated!`;\r\n\r\nlet S_CONFIRM_SAVE_SA_INNER_LIMITS = `Are you sure you want to save these SA inner limits?`;\r\nlet S_SAVE_SA_INNER_LIMITS_SUCCESS = `Your selected SA inner limits has been successfully saved.`;\r\n\r\nlet S_CONFIRM_SAVE_INNER_LIMIT = `Are you sure you want to save this inner limit?`;\r\nlet S_SAVE_INNER_LIMIT_SUCCESS = `Your inner limit setup has been saved successfully.`;\r\n\r\nlet S_CONFIRM_SAVE_OUTER_LIMIT = `Are you sure you want to save these outer limits?`;\r\nlet S_SAVE_OUTER_LIMIT_SUCCESS = `Your outer limits has been updated!`;\r\n// Benefit Template / Plan Labels\r\n\r\n// Quick Search Labels\r\nlet S_QUICK_SEARCH_CHAR_LIMIT = `For optimized search results, please enter at least 4 characters on your search query.`;\r\n// Quick Search Labels\r\n\r\n// Telemedicine Movement Labels\r\nlet S_CONFIRM_GENERATE_MOVEMENT = `Are you sure you want to generate telemedicine movement?`;\r\nlet S_GENERATE_MOVEMENT_SUCCESS = `Telemedicine movement succesfully generated.`;\r\n// Telemedicine Movement Labels\r\n\r\n// WebKit Amendment Labels\r\nlet S_CONFIRM_SAVE_SPECIFY_BATCH_NO = `Are you sure you want to specify this batch number?`;\r\nlet S_CONFIRM_SAVE_SPECIFY_BATCH_NO_SUCCESS = `The batch number was successfully specified.`;\r\n// WebKit Amendment Labels\r\n\r\n// Payment Settings Labels\r\nlet S_CONFIRM_SAVE_TOLERANCE_SETTINGS = `Are you sure you want to save this tolerance settings?`;\r\nlet S_CONFIRM_SAVE_TOLERANCE_SETTINGS_SUCCESS = `The tolerance settings was successfully saved.`;\r\n\r\nlet S_CONFIRM_SAVE_AMOUNT_REASON = `Are you sure you want to save this amount reason?`;\r\nlet S_CONFIRM_SAVE_AMOUNT_REASON_SUCCESS = `The amount reason was successfully saved.`;\r\n\r\nlet S_CONFIRM_SAVE_ADJUSTMENT_REASON = `Are you sure you want to save this adjustment reason?`;\r\nlet S_CONFIRM_SAVE_ADJUSTMENT_SUCCESS = `The adjustment reason was successfully saved.`;\r\n// Payment Settings Labels","\"use strict\"\r\n\r\n///TESTING FOR BRANCH////\r\n//////////////////////////\r\n\r\nfunction blinkElement(element) {\r\n element.delay(100).fadeOut().fadeIn('slow')\r\n}\r\n\r\nfunction objToUrlParam(obj) {\r\n let s = Object.keys(obj).map(function (key) {\r\n return key + '=' + obj[key];\r\n }).join('&');\r\n\r\n return s;\r\n}\r\n\r\nfunction blockUi(element, message = \"Loading...\") {\r\n KApp.block(element, {\r\n overlayColor: \"#000000\",\r\n opacity: 0,\r\n type: \"v2\",\r\n state: \"brand\",\r\n message: message\r\n });\r\n}\r\n\r\nfunction blockUiNoSpinner(element, message = \"Loading...\", _size = 'lg') {\r\n KApp.blocknospinner(element, {\r\n overlayColor: \"#000000\",\r\n type: \"v2\",\r\n state: \"brand\",\r\n message: message,\r\n size: _size\r\n });\r\n}\r\n\r\nfunction unBlockUi(element) {\r\n KApp.unblock(element);\r\n}\r\n\r\nfunction openInNewtab(element, modulecode = \"\", restrictioncode = \"\") {\r\n $.post(\r\n urlSetter.replace('Action', 'user-checkrestriction').replace('Controller', 'useraccess').replace('Controller', 'framework'),\r\n {\r\n modulecode: modulecode,\r\n restrictioncode: restrictioncode\r\n },\r\n function (response) {\r\n\r\n if (response.access === true) {\r\n window.open(urlSetter.replace('Action', action).replace('Controller', controller), '_blank');\r\n } else {\r\n swal(\r\n 'System Warning',\r\n response.message,\r\n 'warning'\r\n );\r\n }\r\n }\r\n );\r\n}\r\n\r\nfunction openLink(action = '', controller = '', area = '', modulecode = '', restrictioncode = '') {\r\n $('#divLoadPage').fadeIn('slow', function () {\r\n\r\n if (modulecode !== \"\" && restrictioncode !== \"\") {\r\n $.post(\r\n urlSetter.replace('Action', 'user-checkrestriction').replace('Controller', 'useraccess').replace('Area', 'framework'),\r\n {\r\n modulecode: modulecode,\r\n restrictioncode: restrictioncode\r\n },\r\n function (response) {\r\n\r\n if (response.access === true) {\r\n if (area[0].toUpperCase() === area[0]) {\r\n window.location.replace(`/${area}/${controller}/${action}`);\r\n } else {\r\n window.location.replace(urlSetter.replace('Action', action).replace('Controller', controller).replace('Area', area));\r\n }\r\n } else {\r\n swal(\r\n 'Restricted Access',\r\n response.message,\r\n 'warning'\r\n );\r\n $('#divLoadPage').fadeOut();\r\n }\r\n }\r\n );\r\n } else {\r\n if (area[0].toUpperCase() === area[0]) {\r\n window.location.replace(`/${area}/${controller}/${action}`);\r\n } else {\r\n window.location.replace(urlSetter.replace('Action', action).replace('Controller', controller).replace('Area', area));\r\n }\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\nfunction getUrlParam(parameter, defaultvalue) {\r\n let urlparameter = defaultvalue;\r\n if (window.location.href.indexOf(parameter) > -1) {\r\n urlparameter = getUrlVars()[parameter];\r\n }\r\n return urlparameter;\r\n}\r\n\r\nfunction getUrlVars() {\r\n let vars = {};\r\n let parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {\r\n vars[key] = value;\r\n });\r\n return vars;\r\n}\r\n\r\nfunction setTabIndexes() {\r\n // On the open of Modal window\r\n //Updating the tabindex value to another attribute and make the tabindex =-1 which is the background\r\n $(document).on('open', '.remodal', function () {\r\n $('input').attr('tabindex', \"-1\");\r\n $('.modal-form input').each(function (index, input) {\r\n input.tabIndex = index + 1;\r\n });\r\n });\r\n\r\n $(document).on('close', '.remodal', function () {\r\n $('input').each(function (index, input) {\r\n input.tabIndex = index + 1;\r\n });\r\n });\r\n}\r\n\r\n$.validator.addMethod('notEarlyThanDateToday', function (value, element, params) {\r\n // if end date is valid, validate it as well\r\n let end = $(params);\r\n let dateNow = moment().format('MM/DD/YYYY');\r\n if (!end.data('validation.running')) {\r\n $(element).data('validation.running', true);\r\n // The validator internally keeps track of which element is being validated currently. This ensures that validating 'end' will not trample 'start'\r\n // see http://stackoverflow.com/questions/22107742/jquery-validation-date-range-issue\r\n setTimeout($.proxy(\r\n\r\n function () {\r\n this.element(end);\r\n }, this), 0);\r\n // Ensure clearing the 'flag' happens after the validation of 'end' to prevent endless looping\r\n setTimeout(function () {\r\n $(element).data('validation.running', false);\r\n }, 0);\r\n }\r\n return this.optional(element) || this.optional(end[0]) || moment(value).isAfter(moment(dateNow)) || moment(value).isSame(moment(dateNow));\r\n}, 'Must not be before date today');\r\n\r\n$.validator.addMethod('notEarlyThanDateFrom', function (value, element, params) {\r\n // if start date is valid, validate it as well\r\n let start = $(params);\r\n if (!start.data('validation.running')) {\r\n $(element).data('validation.running', true);\r\n setTimeout($.proxy(\r\n\r\n function () {\r\n this.element(start);\r\n }, this), 0);\r\n setTimeout(function () {\r\n $(element).data('validation.running', false);\r\n }, 0);\r\n }\r\n return this.optional(element) || this.optional(start[0]) || moment(value).isAfter(moment(start.val()));\r\n}, 'Must be after corresponding start date');\r\n\r\n$.validator.addMethod('notMoreThanDate', function (value, element, params) {\r\n let dateToBeCompared = params[0];\r\n let days = params[1];\r\n let targetMaxDate = moment(dateToBeCompared).add(days, 'd').format('MM/DD/YYYY');\r\n return moment(value).isBefore(moment(targetMaxDate)) || moment(value).isSame(moment(targetMaxDate));\r\n}, 'Must not be more than date compared');\r\n\r\n$.validator.addMethod('interveningPeriod', function (value, element, params) {\r\n let interveningPeriodFrom = $(params).val();\r\n let interveningPeriodTo = value;\r\n return this.optional(element) || interveningPeriodTo <= 90 && interveningPeriodFrom >= 0;\r\n}, 'Intervening Period should range from 0 day up to 90 days only.');\r\n\r\n// Add Custom Date Range Validation \r\n$.validator.addMethod('daterange', function (value, element, parameter) {\r\n if (this.optional(element)) {\r\n return true;\r\n }\r\n let startDate = Date.parse('01/01/1900'),\r\n endDate = Date.parse(new Date()),\r\n enteredDate = Date.parse(value);\r\n return ((startDate <= enteredDate) && (enteredDate <= endDate));\r\n}, \"Please specify a valid date.\");\r\n\r\nfunction htmlEntities(str) {\r\n return String(str).replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"');\r\n}\r\n\r\n// amountOptional\r\n$.validator.addMethod(\"amountOptional\", function (value, element, params) {\r\n element = $(element);\r\n if (element.val() !== \"\" && parseFloat(element.val()) !== 0.00) {\r\n let valid = false;\r\n value = parseFloat(value);\r\n if (value >= params[0] && value <= params[1]) {\r\n valid = true;\r\n }\r\n return valid;\r\n } else {\r\n return true;\r\n }\r\n}, \"Please enter an amount between {0} and {1}\");\r\n\r\n$.validator.addMethod('filesize', function (value, element, param) {\r\n // param = size (en bytes) \r\n // element = element to validate ()\r\n // value = value of the element (file name)\r\n return this.optional(element || element.files[0].size <= param);\r\n}, 'File exceeded upload limit.');\r\n\r\n$.validator.addMethod(\"notEqualTo\", function (value, element, param) {\r\n let notEqual = true;\r\n value = $.trim(value);\r\n\r\n if (param instanceof Array) {\r\n for (i = 0; i < param.length; i++) {\r\n if (value === $.trim($(param[i]).val())) {\r\n notEqual = false;\r\n }\r\n }\r\n }\r\n else if (typeof param == \"function\") {\r\n let compareValueWith = param();\r\n if (compareValueWith.toUpperCase() === value.toUpperCase()) {\r\n notEqual = false;\r\n }\r\n }\r\n else if (typeof param == \"string\") {\r\n if (value.toUpperCase() === $.trim(param).toUpperCase()) {\r\n notEqual = false;\r\n }\r\n }\r\n else {\r\n if (value.toUpperCase() === $.trim($(param).val()).toUpperCase()) {\r\n notEqual = false;\r\n }\r\n }\r\n\r\n return this.optional(element) || notEqual;\r\n}, \"Please enter a different value.\");\r\n\r\n$.validator.addMethod(\"sameWith\", function (value, element, param) {\r\n let same = true;\r\n value = $.trim(value);\r\n\r\n //if (param instanceof Array) {\r\n // for (i = 0; i < param.length; i++) {\r\n // if (value !== $.trim($(param[i]).val())) {\r\n // same = false;\r\n // }\r\n // }\r\n //}\r\n //else if (typeof param == \"function\") {\r\n // let compareValueWith = param();\r\n // if (compareValueWith !== value) {\r\n // same = false;\r\n // }\r\n //}\r\n //else if (typeof param == \"string\") {\r\n // if (value !== $.trim(param)) {\r\n // same = false;\r\n // }\r\n //}\r\n //else {\r\n // if (value !== $.trim($(param).val())) {\r\n // same = false;\r\n // }\r\n //}\r\n\r\n if (value !== $.trim(param)) {\r\n same = false;\r\n }\r\n\r\n //return this.optional(element) || same;\r\n return same;\r\n}, \"Please enter a different value.\");\r\n\r\n$.validator.addMethod('uwFrom', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Underweight From lesser than Underweight To');\r\n\r\n$.validator.addMethod('uwTo', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value1 > value2;\r\n}, 'Please specify Underweight To greater than Underweight From');\r\n\r\n$.validator.addMethod('uwFromVSnFrom', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Underweight From lesser than the Normal weight');\r\n\r\n$.validator.addMethod('uwFromVSowFrom', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Underweight From lesser than the Overweight');\r\n\r\n$.validator.addMethod('uwFromVSobese', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Underweight From lesser than the Obese weight');\r\n\r\n$.validator.addMethod('nFrom', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Normal From lesser than Normal To');\r\n\r\n$.validator.addMethod('nTo', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value1 > value2;\r\n}, 'Please specify Normal To greater than Normal From');\r\n\r\n$.validator.addMethod('nFromVSuwFrom', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 < value1;\r\n}, 'Please specify Normal Weight From greater than the Underweight');\r\n\r\n$.validator.addMethod('nFromVSowFrom', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Normal Weight From lesser than the Overweight');\r\n\r\n$.validator.addMethod('nFromVSobese', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Normal Weight From lesser than the Obese weight');\r\n\r\n$.validator.addMethod('owFrom', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Overweight From lesser than Overweight To');\r\n\r\n$.validator.addMethod('owTo', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value1 > value2;\r\n}, 'Please specify Overweight To greater than Overweight From');\r\n\r\n$.validator.addMethod('owFromVSuwTo', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 < value1;\r\n}, 'Please specify Overweight From greater than the Underweight');\r\n\r\n$.validator.addMethod('owFromVSnTo', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 < value1;\r\n}, 'Please specify Overweight From greater than the Normal weight');\r\n\r\n$.validator.addMethod('owFromVSobese', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 > value1;\r\n}, 'Please specify Overweight From lesser than the Obese weight');\r\n\r\n$.validator.addMethod('obeseVSuwTo', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 < value1;\r\n}, 'Please specify Obese weight greater than the Underweight');\r\n\r\n$.validator.addMethod('obeseVSnTo', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 < value1;\r\n}, 'Please specify Obese weight greater than the Normal weight');\r\n\r\n$.validator.addMethod('obeseVSowTo', function (value, element, param) {\r\n let value1 = parseFloat(value);\r\n let value2 = parseFloat($(param).val());\r\n\r\n return this.optional(element) || value2 < value1;\r\n}, 'Please specify Obese weight greater than the Overweight');\r\n\r\n$.validator.addMethod('minimumCoverage', function (value, element, param) {\r\n let minimumCoverage = value === '' ? 0 : parseFloat(value.replace(',', ''));\r\n let maximumCoverage = parseFloat($(param).val().replace(',', ''));\r\n let equalToZero = false;\r\n\r\n if (minimumCoverage === 0 && maximumCoverage === 0) {\r\n equalToZero = true;\r\n } else {\r\n equalToZero = false;\r\n }\r\n\r\n return this.optional(element) || maximumCoverage > minimumCoverage || equalToZero;\r\n}, 'Minimum Coverage should not exceed Maximum Coverage.');\r\n\r\n$.validator.addMethod('maximumCoverage', function (value, element, param) {\r\n let maximumCoverage = value === '' ? 0 : parseFloat(value.replace(',', ''));\r\n let minimumCoverage = parseFloat($(param).val().replace(',', ''));\r\n let equalToZero = false;\r\n\r\n if (minimumCoverage === 0 && maximumCoverage === 0) {\r\n equalToZero = true;\r\n } else {\r\n equalToZero = false;\r\n }\r\n\r\n return this.optional(element) || minimumCoverage < maximumCoverage || equalToZero;\r\n}, 'Maximum Coverage should not be less than Minimum Coverage.');\r\n\r\n$.validator.addMethod('nmlAmount', function (value, element, param) {\r\n let nelAmount = parseFloat($(param).val().replace(',', ''));\r\n let nmlAmount = parseFloat(value.replace(',', ''));\r\n let equalToZero = false;\r\n\r\n if (nmlAmount === 0) {\r\n equalToZero = true;\r\n } else {\r\n equalToZero = false;\r\n }\r\n\r\n return this.optional(element) || nmlAmount > nelAmount || equalToZero;\r\n}, 'NML Amount must be larger than NEL Amount.')\r\n\r\n$.validator.addMethod('ageFrom', function (value, element, param) {\r\n let ageFromPrin = value === '' ? 0 : parseInt(value);\r\n let ageToPrin = parseInt($(param).val());\r\n let equalToZero = true;\r\n\r\n if (ageFromPrin === 0 && ageToPrin === 0) {\r\n equalToZero = true;\r\n } else {\r\n equalToZero = false;\r\n }\r\n\r\n return this.optional(element) || ageFromPrin < ageToPrin || equalToZero;\r\n}, 'Invalid Age Range (Age From)');\r\n\r\n$.validator.addMethod('ageTo', function (value, element, param) {\r\n let ageToPrin = value === '' ? 0 : parseInt(value);\r\n let ageFromPrin = parseInt($(param).val());\r\n let equalToZero = true;\r\n\r\n if (ageFromPrin === 0 && ageToPrin === 0) {\r\n equalToZero = true;\r\n } else {\r\n equalToZero = false;\r\n }\r\n\r\n return this.optional(element) || ageToPrin > ageFromPrin || equalToZero;\r\n}, 'Invalid Age Range (Age To)');\r\n\r\n$.validator.addMethod('ageFromTerm', function (value, element, param) {\r\n let ageFrom = 0;\r\n let ageTo = 0;\r\n let paramAgeTo = param[0];\r\n let paramAgeFromTerm = param[1];\r\n let paramAgeToTerm = param[2];\r\n let paramDayFrom = param[3];\r\n let ageEqualToZero = false;\r\n\r\n let fromMultiplier = 0;\r\n switch (parseInt(paramAgeFromTerm.val())) {\r\n case 1: fromMultiplier = 1; break;\r\n case 2: fromMultiplier = 7; break;\r\n case 3: fromMultiplier = 31; break;\r\n case 4: fromMultiplier = 365; break;\r\n }\r\n\r\n let toMultiplier = 0;\r\n switch (parseInt(paramAgeToTerm.val())) {\r\n case 1: toMultiplier = 1; break;\r\n case 2: toMultiplier = 7; break;\r\n case 3: toMultiplier = 31; break;\r\n case 4: toMultiplier = 365; break;\r\n }\r\n\r\n if (parseInt(paramAgeFromTerm.val()) === 1) {\r\n value = value === '' ? 0 : parseInt(value);\r\n ageFrom = value\r\n } else {\r\n value = value === '' ? 0 : parseInt(value);\r\n ageFrom = value * fromMultiplier;\r\n }\r\n\r\n if (parseInt(paramAgeToTerm.val()) === 1) {\r\n ageTo = parseInt(paramAgeTo.val());\r\n } else {\r\n ageTo = parseInt(paramAgeTo.val()) * toMultiplier;\r\n }\r\n\r\n if (ageFrom === 0 && ageTo === 0) {\r\n ageEqualToZero = true;\r\n } else {\r\n ageEqualToZero = false;\r\n }\r\n\r\n paramDayFrom.val(ageFrom);\r\n\r\n return this.optional(element) || ageTo > ageFrom || ageFrom < ageTo || ageEqualToZero;\r\n}, 'Invalid Age Range (Age From)');\r\n\r\n$.validator.addMethod('ageToTerm', function (value, element, param) {\r\n let ageFrom = 0;\r\n let ageTo = 0;\r\n let paramAgeFrom = param[0];\r\n let paramAgeFromTerm = param[1];\r\n let paramAgeToTerm = param[2];\r\n let paramDayTo = param[3];\r\n let ageEqualToZero = false;\r\n\r\n let fromMultiplier = 0;\r\n switch (parseInt(paramAgeFromTerm.val())) {\r\n case 1: fromMultiplier = 1; break;\r\n case 2: fromMultiplier = 7; break;\r\n case 3: fromMultiplier = 31; break;\r\n case 4: fromMultiplier = 365; break;\r\n }\r\n\r\n let toMultiplier = 0;\r\n switch (parseInt(paramAgeToTerm.val())) {\r\n case 1: toMultiplier = 1; break;\r\n case 2: toMultiplier = 7; break;\r\n case 3: toMultiplier = 31; break;\r\n case 4: toMultiplier = 365; break;\r\n }\r\n\r\n if (parseInt(paramAgeFromTerm.val()) === 1) {\r\n ageFrom = parseInt(paramAgeFrom.val());\r\n } else {\r\n ageFrom = parseInt(paramAgeFrom.val()) * fromMultiplier;\r\n }\r\n\r\n if (parseInt(paramAgeToTerm.val()) === 1) {\r\n value = value === '' ? 0 : parseInt(value);\r\n ageTo = value\r\n } else {\r\n value = value === '' ? 0 : parseInt(value);\r\n ageTo = value * toMultiplier;\r\n }\r\n\r\n if (ageFrom === 0 && ageTo === 0) {\r\n ageEqualToZero = true;\r\n } else {\r\n ageEqualToZero = false;\r\n }\r\n\r\n paramDayTo.val(ageTo);\r\n\r\n return this.optional(element) || ageFrom < ageTo || ageTo > ageFrom || ageEqualToZero;\r\n}, 'Invalid Age Range (Age To)');\r\n\r\n$.validator.addMethod('valueNotEqualTo', function (value, element, param) {\r\n return this.optional(element) || param !== value;\r\n}, 'Please specify the Parameter')\r\n\r\n$.validator.addMethod(\"isObjectNull\", function (value, element, param) {\r\n\r\n if (param) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n\r\n}, \"Object is null\")\r\n\r\n$.validator.addMethod(\"custom\", function (value, element, param) {\r\n\r\n if (param) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n\r\n}, \"\")\r\n\r\n$.validator.addMethod('greaterThan', function (value, el, param) {\r\n return value > param;\r\n}, \"\");\r\n\r\n// Return true if form has changed, else false.\r\n$.fn.extend({\r\n trackChanges: function () {\r\n $(\":input\", this).on('input', function () {\r\n $(this.form).attr(\"data-changed\", true);\r\n });\r\n\r\n $(\".selectpicker\", this).on('changed.bs.select', function () {\r\n $(this.form).attr(\"data-changed\", true);\r\n });\r\n }\r\n ,\r\n isChanged: function () {\r\n return this.attr(\"data-changed\") === 'true' ? true : false;\r\n }\r\n});\r\n\r\n$.fn.extend({\r\n animateCss: function (animationName, callback) {\r\n let animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';\r\n this.addClass('animated ' + animationName).one(animationEnd, function () {\r\n let element = $(this);\r\n element.removeClass('animated ' + animationName);\r\n if (callback && typeof callback === 'function') callback(element);\r\n });\r\n }\r\n});\r\n\r\n$.fn.putCursorAtEnd = function () {\r\n return this.each(function () {\r\n // Cache references\r\n let $el = $(this),\r\n el = this;\r\n\r\n // Only focus if input isn't already\r\n if (!$el.is(\":focus\")) {\r\n $el.focus();\r\n }\r\n // If this function exists... (IE 9+)\r\n if (el.setSelectionRange) {\r\n\r\n // Double the length because Opera is inconsistent about whether a carriage return is one character or two.\r\n let len = $el.val().length * 2;\r\n\r\n // Timeout seems to be required for Blink\r\n setTimeout(function () {\r\n el.setSelectionRange(len, len);\r\n }, 1);\r\n\r\n } else {\r\n // As a fallback, replace the contents with itself\r\n // Doesn't work in Chrome, but Chrome supports setSelectionRange\r\n $el.val($el.val());\r\n }\r\n\r\n // Scroll to the bottom, in case we're in a tall textarea\r\n // (Necessary for Firefox and Chrome)\r\n this.scrollTop = 999999;\r\n });\r\n};\r\n\r\n$.fn.isOnScreen = function (partial) {\r\n\r\n //let's be sure we're checking only one element (in case function is called on set)\r\n var t = $(this).first();\r\n\r\n //we're using getBoundingClientRect to get position of element relative to viewport\r\n //so we dont need to care about scroll position\r\n var box = t[0].getBoundingClientRect();\r\n\r\n //let's save window size\r\n var win = {\r\n h: $(window).height(),\r\n w: $(window).width()\r\n };\r\n\r\n //now we check against edges of element\r\n\r\n //firstly we check one axis\r\n //for example we check if left edge of element is between left and right edge of scree (still might be above/below)\r\n var topEdgeInRange = box.top >= 0 && box.top <= win.h;\r\n var bottomEdgeInRange = box.bottom >= 0 && box.bottom <= win.h;\r\n\r\n var leftEdgeInRange = box.left >= 0 && box.left <= win.w;\r\n var rightEdgeInRange = box.right >= 0 && box.right <= win.w;\r\n\r\n\r\n //here we check if element is bigger then window and 'covers' the screen in given axis\r\n var coverScreenHorizontally = box.left <= 0 && box.right >= win.w;\r\n var coverScreenVertically = box.top <= 0 && box.bottom >= win.h;\r\n\r\n //now we check 2nd axis\r\n var topEdgeInScreen = topEdgeInRange && (leftEdgeInRange || rightEdgeInRange || coverScreenHorizontally);\r\n var bottomEdgeInScreen = bottomEdgeInRange && (leftEdgeInRange || rightEdgeInRange || coverScreenHorizontally);\r\n\r\n var leftEdgeInScreen = leftEdgeInRange && (topEdgeInRange || bottomEdgeInRange || coverScreenVertically);\r\n var rightEdgeInScreen = rightEdgeInRange && (topEdgeInRange || bottomEdgeInRange || coverScreenVertically);\r\n\r\n //now knowing presence of each edge on screen, we check if element is partially or entirely present on screen\r\n var isPartiallyOnScreen = topEdgeInScreen || bottomEdgeInScreen || leftEdgeInScreen || rightEdgeInScreen;\r\n var isEntirelyOnScreen = topEdgeInScreen && bottomEdgeInScreen && leftEdgeInScreen && rightEdgeInScreen;\r\n\r\n return partial ? isPartiallyOnScreen : isEntirelyOnScreen;\r\n\r\n};\r\n\r\n$.expr.filters.onscreen = function (elem) {\r\n return $(elem).isOnScreen(true);\r\n};\r\n\r\n$.expr.filters.entireonscreen = function (elem) {\r\n return $(elem).isOnScreen(false);\r\n};\r\n\r\nfunction deepClone(initalObj, finalObj) {\r\n let obj = finalObj || {};\r\n for (let i in initalObj) {\r\n let prop = initalObj[i];\r\n // Avoid infinite loop\r\n if (prop === obj) {\r\n continue;\r\n }\r\n\r\n if (typeof prop === 'object') {\r\n if (prop === null) {\r\n obj[i] = prop;\r\n } else {\r\n obj[i] = (prop.constructor === Array) ? [] : {};\r\n deepClone(prop, obj[i]);\r\n }\r\n } else {\r\n obj[i] = prop;\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\nfunction ResetQueryContainer(QueryContainer) {\r\n QueryContainer.find('input[type=text]').val(\"\");\r\n QueryContainer.find('input[type=hidden]').val(\"0\");\r\n QueryContainer.find('select.bootstrap-select').each(function (i, el) {\r\n $(el).val($(el).find('option:first').val()).change();\r\n });\r\n\r\n}\r\n\r\nfunction initMap(anchorEl = $(), center = { lat: 0.00, long: 0.00 }, zoom = 8) {\r\n center.lat = Number(center.lat);\r\n center.long = Number(center.long);\r\n\r\n let map = new google.maps.Map($(anchorEl)[0], {\r\n center: new google.maps.LatLng(center.lat, center.long),\r\n zoom: zoom\r\n });\r\n\r\n let marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(center.lat, center.long),\r\n map: map\r\n });\r\n}\r\n\r\nfunction initLeafletMap(map = null, anchorEl = $(), center = { lat: 0.00, long: 0.00 }, zoom = 8) {\r\n center.lat = Number(center.lat);\r\n center.long = Number(center.long);\r\n\r\n map = L.map($(anchorEl)[0], {\r\n center: L.latLng(center.lat, center.long),\r\n zoom: zoom\r\n });\r\n\r\n let provider = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {\r\n attribution: '© OpenStreetMap contributor'\r\n });\r\n\r\n let marker = L.marker(L.latLng(center.lat, center.long));\r\n\r\n provider.addTo(map);\r\n marker.addTo(map);\r\n\r\n return map;\r\n}\r\n\r\nfunction initEmbeddedGMap(anchorEl = $(), providername = '') {\r\n let uri = `https://maps.google.com/maps?q=providername&t=&z=14&ie=UTF8&iwloc=&output=embed`;\r\n uri = encodeURI(uri.replace('providername', providername));\r\n anchorEl.html(`\r\n