{"version":3,"sources":["webpack:///./Scripts/Components/SelectCountryAndCompanyLogin.js"],"names":["countries","orgs","selectedCountry","setSelectedCountry","useState","selectedOrganization","setSelectedOrganization","errorMessage","setErrorMessage","filteredOrganizations","filter","org","Fields","hasOwnProperty","CustomerDimensionCountry","sort","a","b","_nameInvariantCulture","localeCompare","isDisabled","className","translate","onChange","event","selectedCountryCode","target","value","RegionInfo","EnglishName","map","country","index","key","TwoLetterISOCode","selectedOrgId","organization","Id","Addresses","City","getOptionName","type","href","onClick","preventDefault","disabled"],"mappings":"yIAGA,MAuFA,EAvFqC,EAAGA,YAAWC,WAC/C,MAAOC,EAAiBC,IAAsBC,cAAS,KAChDC,EAAsBC,IAA2BF,cAAS,KAC1DG,EAAcC,IAAmBJ,cAAS,IAajD,MAYMK,EAAwBP,EAAkBD,EACvCS,QAAOC,GAAOA,GAAKC,QAAQC,eAAe,8BAC1CH,QAAOC,GAAOA,GAAKC,QAAQE,yBAAyB,OAASZ,IAC7Da,MAAK,CAACC,EAAGC,IAAMD,EAAEJ,OAAOM,sBAAsB,KAAKC,cAAcF,EAAEL,OAAOM,sBAAsB,QACnG,GAEAE,GAAcf,EAYpB,OACI,wBAAMgB,UAAU,+BACR,uBAAKA,UAAU,aACX,yBAAOA,UAAU,gBACZC,OAAU,yBAEf,0BAAQC,SA/CMC,IAC1B,MAAMC,EAAsBD,EAAME,OAAOC,MACzCxB,EAAmBsB,GAMnBnB,EAAwB,KAuC4BqB,MAAOzB,EAAiBmB,UAAU,eAC1E,0BAAQM,MAAM,KAAIL,OAAU,gCACvBtB,EACIe,MAAK,CAACC,EAAGC,KAAOD,GAAGY,YAAYC,aAAgBb,GAAGa,aAAaV,cAAcF,GAAGW,YAAYC,aAAeZ,EAAEY,eAC7GC,KAAI,CAACC,EAASC,IACf,0BAAQC,IAAKD,EAAOL,MAAOI,EAAQG,kBAC9BH,GAASH,YAAYC,aAAeE,GAASF,iBAM9D,uBAAKR,UAAU,aACX,yBAAOA,UAAU,gBACdC,OAAU,8BAEb,0BAAQC,SApDEC,IACtB,MAAMW,EAAgBX,EAAME,OAAOC,MACnCrB,EAAwB6B,IAkDwBR,MAAOtB,EAAsBgB,UAAU,eAC3E,0BAAQM,MAAM,KAAIL,OAAU,8BACvBb,EAAsBqB,KAAI,CAACM,EAAcJ,IACtC,0BAAQC,IAAKG,EAAeJ,EAAOL,MAAOS,EAAaC,IAnC/E,SAAuBD,GAGnB,OAFaA,GAAcE,UAAU,IAAIC,KAG7B,GAAEH,EAAaxB,OAAOM,sBAAsB,SAASkB,GAAcE,UAAU,IAAIC,QAGtFH,EAAaxB,OAAOM,sBAAsB,KA6BxBsB,CAAcJ,QAMnC,qBAAGK,KAAK,SAASpB,UAAU,oCAAoCqB,KAAMtB,EAAa,KAAQ,kCAAiCf,IAAwBsC,QAzDlInB,IAChBnB,IACDmB,EAAMoB,iBACNpC,GAAgBc,OAAU,qCAsDmJuB,SAAUzB,IAC9KE,OAAU,sBAElBf,GAAgB,qBAAGc,UAAU,uBAAuBd","file":"663.95ecc4b996cac0082f93.js","sourcesContent":["import React, { useState } from 'react';\nimport { translate } from '../Services/translation';\n\nconst SelectCountryAndCompanyLogin = ({ countries, orgs }) => {\n    const [selectedCountry, setSelectedCountry] = useState(\"\");\n    const [selectedOrganization, setSelectedOrganization] = useState(\"\");\n    const [errorMessage, setErrorMessage] = useState(\"\");\n\n    const countryChangeHandler = (event) => {\n        const selectedCountryCode = event.target.value;\n        setSelectedCountry(selectedCountryCode);\n\n        resetCountryInput();\n    };\n\n    function resetCountryInput() {\n        setSelectedOrganization(\"\");\n    }\n\n    const orgChangeHandler = (event) => {\n        const selectedOrgId = event.target.value;\n        setSelectedOrganization(selectedOrgId);\n    };\n\n    const handleLinkClick = (event) => {\n        if (!selectedOrganization) {\n            event.preventDefault();\n            setErrorMessage(translate('validation.error.organdcountry'));\n        }\n    };\n    // Filter organizations based on the selected country\n    const filteredOrganizations = selectedCountry ? orgs\n            .filter(org => org?.Fields?.hasOwnProperty('CustomerDimensionCountry'))\n            .filter(org => org?.Fields?.CustomerDimensionCountry['*'] === selectedCountry)\n            .sort((a, b) => a.Fields._nameInvariantCulture['*'].localeCompare(b.Fields._nameInvariantCulture['*']))\n        : [];\n\n    const isDisabled = !selectedOrganization;\n\n    function getOptionName(organization){\n        const city = organization?.Addresses[0]?.City;\n\n        if(city){\n            return `${organization.Fields._nameInvariantCulture['*']} (${organization?.Addresses[0]?.City})`;\n        }\n\n        return organization.Fields._nameInvariantCulture['*'];\n    }\n\n    return (\n        <form className=\"form__login-container--item\">\n                <div className=\"container\">\n                    <label className=\"form__label\">\n                        {translate(\"apply.select.country\")}\n                    </label>\n                    <select onChange={countryChangeHandler} value={selectedCountry} className=\"form__input\">\n                    <option value=\"\">{translate(\"apply.select.country.option\")}</option>\n                        {countries\n                            .sort((a, b) => (a?.RegionInfo?.EnglishName  ?? a?.EnglishName).localeCompare(b?.RegionInfo?.EnglishName ?? b.EnglishName))\n                            .map((country, index) => (\n                            <option key={index} value={country.TwoLetterISOCode}>\n                                {country?.RegionInfo?.EnglishName ?? country?.EnglishName}\n                            </option>\n                        ))}\n                     </select>\n                </div>\n\n                <div className=\"container\">\n                    <label className=\"form__label\" >\n                      {translate(\"apply.select.organization\")}\n                    </label>\n                    <select onChange={orgChangeHandler} value={selectedOrganization} className=\"form__input\">\n                    <option value=\"\">{translate(\"apply.select.organization\")}</option>\n                        {filteredOrganizations.map((organization, index) => (\n                            <option key={organization + index} value={organization.Id}>\n                                {getOptionName(organization)}\n                            </option>\n                        ))}\n                    </select>\n                </div>\n\n            <a type=\"button\" className=\"form__button form__button--expand\" href={isDisabled ? null : `/Registration?organizationName=${selectedOrganization}`} onClick={handleLinkClick} disabled={isDisabled}>\n                    {translate(\"apply.for.account\")}\n            </a>\n            {errorMessage && <p className=\"registration__error\">{errorMessage}</p>}\n        </form>\n\n    );\n};\n\nexport default SelectCountryAndCompanyLogin;\n"],"sourceRoot":""}