{"version":3,"sources":["webpack:///./Source/Scripts/helper.ts","webpack:///./Source/Scripts/app.login.ts","webpack:///./Source/Scripts/login.ts"],"names":["getUrlParameter","sParam","sUrlVariables","window","location","search","substring","split","i","length","sParameterName","isNullOrEmpty","jQueryElement","res","undefined","isStringNullOrEmpty","obj","toString","isObjectNullOrEmpty","setupCheckboxClickEvent","$","on","event","currentTarget","next","trigger","applyCustomValidationToForm","formSelector","data","validator","unobtrusive","parse","setupMustBeTrueValidation","addMethod","value","element","params","checked","adapters","add","options","rules","messages","message","setupVoucherIsUsableValidation","errorMsg","isSuccess","ajax","type","url","cache","async","contentType","done","response","item1","item2","setupValidationOnFocusOut","formValidator","validateFormFields","this","Helper","Login","init","validate"],"mappings":"sKAAA,+BAkJA,OA7IW,EAAAA,gBAAP,SAAuBC,GAGnB,IAFA,IACIC,EADmBC,OAAOC,SAASC,OAAOC,UAAU,GACjBC,MAAM,KACpCC,EAAI,EAAGA,EAAIN,EAAcO,OAAQD,IAAK,CAC3C,IAAIE,EAAiBR,EAAcM,GAAGD,MAAM,KAC5C,GAAIG,EAAe,IAAMT,EACrB,OAAOS,EAAe,KAS3B,EAAAC,cAAP,SAAqBC,GACjB,IAAIC,GAAM,EAMV,OAJsB,OAAlBD,QAA+CE,IAArBF,EAAc,IAAoBA,EAAcH,OAAS,IACnFI,GAAM,GAGHA,GAOJ,EAAAE,oBAAP,SAA2BC,GACvB,IAAIH,GAAe,EAMnB,OAJIG,SAAqCA,EAAIC,WAAWR,OAAS,IAC7DI,GAAM,GAGHA,GAOJ,EAAAK,oBAAP,SAA2BF,GACvB,IAAIH,GAAM,EAMV,OAJIG,UACAH,GAAM,GAGHA,GAMJ,EAAAM,wBAAP,WACIC,EAAE,kCAAkCC,GAAG,SAAS,SAACC,GAC7CF,EAAEE,EAAMC,eAAeC,KAAK,SAASC,QAAQ,aAS9C,EAAAC,4BAAP,SAAmCC,GAE/BP,EAAEO,GAAcC,KAAK,YAAa,MAGlCR,EAAES,UAAUC,YAAYC,MAAMX,EAAEO,KAM7B,EAAAK,0BAAP,WACIZ,EAAES,UAAUI,UAAU,cAAc,SAACC,EAAYC,EAAcC,GAC3D,OAAOD,EAAQE,WAGnBjB,EAAES,UAAUC,YAAYQ,SAASC,IAAI,aAAc,IAAI,SAACC,GACpDA,EAAQC,MAAkB,WAAI,GAC9BD,EAAQE,SAAqB,WAAIF,EAAQG,YAO1C,EAAAC,+BAAP,WACI,IAAIC,EAAW,GACfzB,EAAES,UAAUI,UAAU,mBAAmB,SAACC,EAAYC,EAAcC,GAChE,IAAIU,GAAY,EAehB,OAbA1B,EAAE2B,KAAK,CACHC,KAAM,MACNC,IAAK,qCAAuCf,EAC5CgB,OAAO,EACPC,OAAO,EACPC,YAAa,qBACdC,MAAK,SAACC,IACLR,EAAYQ,EAASC,SAEjBV,EAAWS,EAASE,UAIrBV,KAGX1B,EAAES,UAAUC,YAAYQ,SAASC,IAAI,kBAAmB,CAAC,kBAAmB,iBAAiB,SAACC,GAC1FA,EAAQC,MAAuB,gBAAI,GACnCD,EAAQE,SAA0B,gBAAI,WAAc,OAAOG,OAQ5D,EAAAY,0BAAP,SAAiCC,GAAjC,WACItC,EAAE,+BAA+BC,GAAG,WAAY,SAAS,SAACC,GAA6B,SAAKqC,mBAAmBrC,EAAOoC,OAQnH,EAAAC,mBAAP,SAA0BrC,EAA0BoC,GAChD,IAAInC,EAAiCH,EAAEE,EAAMC,eAExCqC,KAAKjD,cAAcY,SACET,IAAlB4C,GACMA,EAAevB,QAAQZ,IAI7C,EAlJA,GAAa,EAAAsC,W,kGCAb,WAEA,KACA,KACA,YAGAzC,GAAE,WACE,EAAA0C,MAAMC,W,gGCRV,WACA,OAEA,2BAcA,OAVW,EAAAA,KAAP,WACI,EAAAF,OAAO1C,0BACP,EAAA0C,OAAO7B,4BAGP4B,KAAKF,cAAgBtC,EAAEwC,KAAKjC,cAAcqC,WAG1C,EAAAH,OAAOJ,0BAA0BG,KAAKF,gBAXnC,EAAA/B,aAAuB,OAalC,EAdA,GAAa,EAAAmC,U","file":"login.min.js","sourcesContent":["export class Helper {\r\n /**\r\n * gets the corresponding url parameter value\r\n * @param sParam the url parameter name\r\n */\r\n static getUrlParameter(sParam) {\r\n let sPageUrl: string = window.location.search.substring(1);\r\n var sUrlVariables: string[] = sPageUrl.split('&');\r\n for (var i = 0; i < sUrlVariables.length; i++) {\r\n var sParameterName = sUrlVariables[i].split('=');\r\n if (sParameterName[0] == sParam) {\r\n return sParameterName[1];\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * checks whether the jquery element is null or empty\r\n * @param jQueryElement the jquery element\r\n */\r\n static isNullOrEmpty(jQueryElement: JQuery): boolean {\r\n var res = true;\r\n\r\n if (jQueryElement !== null && jQueryElement[0] !== undefined && jQueryElement.length > 0) {\r\n res = false;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n /**\r\n * checks whether the string is null or empty\r\n * @param string the string\r\n */\r\n static isStringNullOrEmpty(obj: string): boolean {\r\n let res: boolean = true;\r\n\r\n if (obj !== null && obj !== undefined && obj.toString().length > 0) {\r\n res = false;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n /**\r\n * checks whether the object is null or empty\r\n * @param object the object\r\n */\r\n static isObjectNullOrEmpty(obj: any): boolean {\r\n var res = true;\r\n\r\n if (obj !== null && obj !== undefined) {\r\n res = false;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n /**\r\n * setup click events for checkbox\r\n */\r\n static setupCheckboxClickEvent(): void {\r\n $('.checkbox-container .checkmark').on('click', (event: JQueryEventObject) => {\r\n $(event.currentTarget).next(\"label\").trigger(\"click\");\r\n })\r\n }\r\n\r\n /**\r\n * remove the already added validator object and reparse document\r\n * https://stackoverflow.com/questions/17805749/jquery-unobtrusive-custom-adapter-and-method-in-jsfiddle\r\n * @param formSelector the jQuery selector for the form in question\r\n */\r\n static applyCustomValidationToForm(formSelector: string): void {\r\n // reset validator\r\n $(formSelector).data('validator', null);\r\n\r\n // parse form data\r\n $.validator.unobtrusive.parse($(formSelector));\r\n }\r\n\r\n /**\r\n * setup custom validation 'mustbetrue'\r\n */\r\n static setupMustBeTrueValidation(): void {\r\n $.validator.addMethod('mustbetrue', (value: any, element: any, params: any) => {\r\n return element.checked;\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add('mustbetrue', [], (options: any) => {\r\n options.rules['mustbetrue'] = {};\r\n options.messages['mustbetrue'] = options.message;\r\n });\r\n }\r\n\r\n /**\r\n * setup custom validation 'voucherisusable'\r\n */\r\n static setupVoucherIsUsableValidation(): void {\r\n let errorMsg = '';\r\n $.validator.addMethod('voucherisusable', (value: any, element: any, params: any) => {\r\n let isSuccess = false;\r\n\r\n $.ajax({\r\n type: \"GET\",\r\n url: \"/api/User/validatevoucher?voucher=\" + value,\r\n cache: false,\r\n async: false,\r\n contentType: \"application/json\"\r\n }).done((response: any): void => {\r\n isSuccess = response.item1;\r\n if (!isSuccess) {\r\n errorMsg = response.item2;\r\n }\r\n });\r\n\r\n return isSuccess;\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add('voucherisusable', ['voucherisusable', 'voucherinuse'], (options: any) => {\r\n options.rules['voucherisusable'] = {};\r\n options.messages['voucherisusable'] = function () { return errorMsg };\r\n });\r\n }\r\n\r\n /**\r\n * validate input fields on focusout event\r\n * @param formValidator the form validator object\r\n */\r\n static setupValidationOnFocusOut(formValidator: JQueryValidation.Validator): void {\r\n $('.input-and-validation-group').on('focusout', 'input', (event: JQueryEventObject) => this.validateFormFields(event, formValidator));\r\n }\r\n\r\n /**\r\n * validate form fields\r\n * @param event jQuery the event\r\n * @param formValidator the form validator object\r\n */\r\n static validateFormFields(event: JQueryEventObject, formValidator: JQueryValidation.Validator) {\r\n let currentTarget: JQuery = $(event.currentTarget);\r\n\r\n if (!this.isNullOrEmpty(currentTarget)) {\r\n if (formValidator !== undefined) {\r\n (formValidator).element(currentTarget);\r\n }\r\n }\r\n }\r\n}","import * as $ from 'jquery';\r\nimport jqueryValidation from 'jquery-validation'\r\nimport 'jquery-validation/dist/localization/messages_da'\r\nimport 'jquery-validation-unobtrusive'\r\nimport { Login } from './login';\r\n\r\n/* Global inits */\r\n$(function () {\r\n Login.init();\r\n});","import * as $ from 'jquery';\r\nimport { Helper } from \"./helper\";\r\n\r\nexport class Login {\r\n static formSelector: string = 'form';\r\n static formValidator: JQueryValidation.Validator;\r\n\r\n static init(): void {\r\n Helper.setupCheckboxClickEvent();\r\n Helper.setupMustBeTrueValidation();\r\n\r\n // get validator object\r\n this.formValidator = $(this.formSelector).validate();\r\n\r\n // setup form field validation on focusout event\r\n Helper.setupValidationOnFocusOut(this.formValidator);\r\n }\r\n}"],"sourceRoot":""}