{"version":3,"file":"login-form.js?v=7fbf200bddbd670336fa","mappings":"wQAAWA,mBAAqB,SAAUC,eACtCC,KAAKD,cAAgBA,aACzB,EAEAD,mBAAmBG,UAAUC,YAAc,WAGvC,IAFA,IAAIC,SAAWC,SAASC,uBAAuB,KAAKN,eAChDO,gBAAkB,KAAKP,cAAgB,IAClCQ,EAAI,EAAGA,EAAIJ,SAASK,OAAQD,IAAK,CACxBJ,SAASI,GACfE,aAAa,KAAOH,iBAAmBC,EAAI,GACvD,CACA,OAAOJ,QACX,ECTA,IAEWO,kBAAoB,SAAUX,eACrCC,KAAKD,cAAgBA,aACzB,EASA,SAASY,oBAAoBC,wBAGzB,IAFA,IACIC,uBADqB,IAAIf,mBAAmBE,KAAKD,eACLG,cACvCK,EAAI,EAAGA,EAAIM,uBAAuBL,OAAQD,IAAK,CACpD,IAAIO,QAAUD,uBAAuBN,GACrC,GAAIO,QAAQC,aAlBc,wBAmBtB,OAEJ,IAAIC,WAAaJ,uBAAuBE,SACpCE,aACEF,QAAUE,YAEhBF,QAAQL,aAzBkB,uBAyBsB,GACpD,CACJ,CArBAC,kBAAkBT,UAAUgB,WAAa,SAAUL,wBAC/C,IAAIM,KAAOlB,MACXmB,EAAAA,YAAAA,IAAqB,WACjB,OAAOR,oBAAoBS,KAAKF,KAAMN,uBAC1C,GACJ,C,yRCXIS,kBAAoB,IAAIX,2DAAAA,EAAkBY,kDAAAA,EAAUC,WAAWC,YACnEC,UAAUC,8BAA8BJ,kDAAAA,EAAUC,WAAWC,YAAY,WACrEH,kBAAkBJ,WAAWU,iBACjC,IAEA,IAAMC,kBAAoB,WACpBC,kBAAoB,WACpBC,sBAAwB,eAE9B,SAASH,iBAAiBb,SACtB,IAAIiB,aAAejB,QAAQkB,iBAAiB,kBAAkB,GAC1DD,eAE2B,SADFA,aAAaE,aAAa,+BAE/CC,KAAKH,eAGb,IAAII,OAASrB,QAAQsB,qBAAqB,QAAQ,GAC5CC,UAAYjC,SAASkC,cAAc,oBAkDzC,SAASC,sBAAsBC,IAC3B,IAAIC,MAAQrC,SAASsC,eAAeF,IACpC,OAAKC,MAGEA,MAAME,MAFF,EAGf,CAEA,SAAST,KAAKU,MACLA,OAGLA,KAAKC,MAAMC,QAAU,QACzB,CASA,OAtEIX,QACAA,OAAOY,iBAAiB,UAE5B,SAAsBC,GAClBA,EAAEC,iBAEF,IAAIC,MAAQX,sBAAsBX,mBAC9BuB,KAAOZ,sBAAsBV,mBACjCQ,UAAUe,UAAUC,IAAI,YAExB5B,UAAU6B,YAAYC,YACjBC,MAAK,SAAUC,QACZ,OAAOhC,UAAUiC,aAAaC,UAAU,kBAAmB,CACvDC,OAAQ,OACRC,MAAO,CACH,MACA,SAAYV,KACZ,SAGZ,IACCK,MAAK,SAAUM,cAEZ,GADmBrC,UAAUsC,aAAaC,OAAOF,cAE7C5B,KAAKH,mBAIT,GAAK+B,aAAaG,MAAlB,EAmCZ,SAAcrB,MACV,IAAKA,KACD,OAEJA,KAAKC,MAAMC,QAAU,MACzB,CAnCYoB,CAAKnC,cAEL,IAAIoC,cAAgB/D,SAASsC,eAAeZ,uBACvCqC,gBAGLA,cAAcxB,MAAQmB,aAAaG,MAEnC9B,OAAOiC,SAVP,MAFIlC,KAAKH,aAab,IACCsC,SAAQ,WACLhC,UAAUe,UAAUkB,OAAO,WAC/B,GACR,IAwBOxD,OACX,C","sources":["webpack://RdoWeb/./ResourcePackages/Main/assets/src/scripts/functions/element-enumerator.js","webpack://RdoWeb/./ResourcePackages/Main/assets/src/scripts/functions/widget-initializer.js","webpack://RdoWeb/./ResourcePackages/Main/assets/src/scripts/widgets/login-form.js"],"sourcesContent":["export var ElementsEnumerator = function (elementsClass) {\r\n this.elementsClass = elementsClass;\r\n};\r\n\rElementsEnumerator.prototype.getElements = function () {\r var elements = document.getElementsByClassName(this.elementsClass);\r\n var elementIdPrefix = this.elementsClass + \"-\";\r\n for (var i = 0; i < elements.length; i++) {\r\n var element = elements[i];\r\n element.setAttribute(\"id\", (elementIdPrefix + (i + 1)));\r\n }\r return elements;\r};","import { widgetInitialisation } from \"./widget-init\";\r\nimport { ElementsEnumerator } from \"./element-enumerator\";\r\n\r\nconst initializedVueAppAttrName = \"data-vue-initialized\";\r\n\r\nexport var WidgetInitializer = function (elementsClass) {\r\n this.elementsClass = elementsClass;\r\n};\r\n\r\nWidgetInitializer.prototype.initialize = function (initializationCallback) {\r\n var that = this;\r\n widgetInitialisation(function () {\r\n return innerInitialization.call(that, initializationCallback);\r\n });\r\n};\r\n\r\nfunction innerInitialization(initializationCallback) {\r\n var elementsEnumerator = new ElementsEnumerator(this.elementsClass);\r\n var notInitializedElements = elementsEnumerator.getElements();\r\n for (var i = 0; i < notInitializedElements.length; i++) {\r\n var element = notInitializedElements[i];\r\n if (element.hasAttribute(initializedVueAppAttrName))\r\n return;\r\n\r\n var newElement = initializationCallback(element);\r\n if (newElement)\r\n { element = newElement; }\r\n\r\n element.setAttribute(initializedVueAppAttrName, '');\r\n }\r\n};","import { WidgetInitializer } from \"../functions/widget-initializer\";\r\nimport { Constants } from \"../functions/constants\";\r\n\r\nvar widgetInitializer = new WidgetInitializer(Constants.COMPONENTS.LOGIN_FORM);\r\nGlobalApp.registerInitializationHandler(Constants.COMPONENTS.LOGIN_FORM, function () {\r\n widgetInitializer.initialize(initLoginFormApp);\r\n});\r\n\r\nconst USERNAME_FIELD_ID = \"UserName\";\r\nconst PASSWORD_FIELD_ID = \"Password\";\r\nconst PASSWORD_JWT_FIELD_ID = \"Password_JWT\";\r\n\r\nfunction initLoginFormApp(element) {\r\n var alertElement = element.querySelectorAll('[role=\"alert\"]')[0];\r\n if (alertElement) {\r\n var hasServerAuthError = alertElement.getAttribute('data-has-server-auth-error');\r\n if (hasServerAuthError === 'True')\r\n show(alertElement);\r\n }\r\n\r\n var formEl = element.getElementsByTagName(\"form\")[0];\r\n const form_wrap = document.querySelector('.login_form_wrap');\r\n\r\n if (formEl)\r\n formEl.addEventListener('submit', onFormSubmit);\r\n\r\n function onFormSubmit(e) {\r\n e.preventDefault();\r\n\r\n var email = getFormFieldValueById(USERNAME_FIELD_ID);\r\n var pass = getFormFieldValueById(PASSWORD_FIELD_ID);\r\n form_wrap.classList.add('awaiting');\r\n\r\n GlobalApp.CartService.getCartId()\r\n .then(function (cartId) {\r\n return GlobalApp.RdoApiClient.fetchJson(\"customers/login\", {\r\n method: 'POST',\r\n jBody: {\r\n \"email\": email,\r\n \"password\": pass,\r\n \"cartId\": cartId\r\n }\r\n })\r\n })\r\n .then(function (loginDetails) {\r\n var errorMessage = GlobalApp.ErrorHandler.handle(loginDetails);\r\n if (errorMessage) {\r\n show(alertElement);\r\n return;\r\n }\r\n\r\n if (!loginDetails.token) {\r\n show(alertElement);\r\n return;\r\n }\r\n\r\n hide(alertElement);\r\n\r\n var passwordField = document.getElementById(PASSWORD_JWT_FIELD_ID);\r\n if (!passwordField)\r\n return;\r\n\r\n passwordField.value = loginDetails.token;\r\n\r\n formEl.submit();\r\n })\r\n .finally(function () {\r\n form_wrap.classList.remove('awaiting');\r\n });\r\n }\r\n\r\n function getFormFieldValueById(id) {\r\n var field = document.getElementById(id);\r\n if (!field)\r\n return '';\r\n\r\n return field.value;\r\n }\r\n\r\n function show(elem) {\r\n if (!elem)\r\n return;\r\n\r\n elem.style.display = 'block';\r\n }\r\n\r\n function hide(elem) {\r\n if (!elem)\r\n return;\r\n\r\n elem.style.display = 'none';\r\n }\r\n\r\n return element;\r\n}"],"names":["ElementsEnumerator","elementsClass","this","prototype","getElements","elements","document","getElementsByClassName","elementIdPrefix","i","length","setAttribute","WidgetInitializer","innerInitialization","initializationCallback","notInitializedElements","element","hasAttribute","newElement","initialize","that","widgetInitialisation","call","widgetInitializer","Constants","COMPONENTS","LOGIN_FORM","GlobalApp","registerInitializationHandler","initLoginFormApp","USERNAME_FIELD_ID","PASSWORD_FIELD_ID","PASSWORD_JWT_FIELD_ID","alertElement","querySelectorAll","getAttribute","show","formEl","getElementsByTagName","form_wrap","querySelector","getFormFieldValueById","id","field","getElementById","value","elem","style","display","addEventListener","e","preventDefault","email","pass","classList","add","CartService","getCartId","then","cartId","RdoApiClient","fetchJson","method","jBody","loginDetails","ErrorHandler","handle","token","hide","passwordField","submit","finally","remove"],"sourceRoot":""}