1"use strict"; 2Object.defineProperty(exports, "__esModule", { value: true }); 3exports.CountryRedirectMsg = exports.CountryChooser = exports.countryRedirects = void 0; 4var tslib_1 = require("tslib"); 5var React = require("react"); 6var AppReactUtils_1 = require("../../../app/pics/jsw/utils/AppReactUtils"); 7var edurequest_1 = require("../../../asc/edurequest"); 8importCss('/orders/pics/css/purchasing.css'); 9exports.countryRedirects = [ 10 { countries: ['de', 'at', 'ch'], url: 'https://edupage-support.raabe.de/portal/de/home' }, 11 { countries: ['tr'], url: 'https://edupage.pro' }, 12]; 13function CountryChooser(props) { 14 var _this = this; 15 var mainElemRef = React.useRef(null); 16 var _a = AppReactUtils_1.AppReactUtils.useOnlineData('/orders/?cmd=Purchasing&akcia=getCountries', {}, props, function (res) { return tslib_1.__awaiter(_this, void 0, void 0, function () { 17 return tslib_1.__generator(this, function (_a) { 18 return [2, res]; 19 }); 20 }); }), data = _a[0], reload = _a[1], md = _a[2]; 21 var _b = AppReactUtils_1.AppReactUtils.useRefStateWithSessionStorage('', 'ttcoutrysearch'), searchQuery = _b[0], setSearchQuery = _b[1]; 22 React.useEffect(function () { 23 var elem = mainElemRef.current; 24 barRegisterPopstateHandler(elem, function () { 25 close(); 26 }); 27 return function () { 28 barUnregisterPopstateHandler(elem); 29 }; 30 }, []); 31 var countries = React.useMemo(function () { 32 var sq = searchQuery.toLowerCase().latinize().trim().replace(/\s+/, ' '); 33 var res = (md === null || md === void 0 ? void 0 : md.countries) || []; 34 return res.filter(function (r) { 35 if (!sq) 36 return true; 37 var n = r.name.toLowerCase().latinize().trim().replace(/\s+/, ' '); 38 var c = r.countrycode.toLowerCase().latinize().trim().replace(/\s+/, ' '); 39 return n.indexOf(sq) >= 0 || c.indexOf(sq) == 0; 40 }); 41 }, [md, searchQuery]); 42 AppReactUtils_1.AppReactUtils.useDialogOptions(mainElemRef, { 43 title: 'Select country', 44 width: '400', 45 dialogClass: 'whiteDialog autoCenteredDialog noPadding noBorder', 46 }); 47 function close() { 48 barCloseDialog($(mainElemRef.current)); 49 } 50 function countryClick(e) { 51 var id = $(e.currentTarget).attr('data-id'); 52 var redirect = exports.countryRedirects.find(function (r) { return r.countries.includes(id); }); 53 if (redirect && (EdubarUtils.getEdupage() == 'asctt' || (md === null || md === void 0 ? void 0 : md.useContryRedirects))) { 54 window.location.href = redirect.url; 55 return; 56 } 57 barStartLoading(); 58 $.post('/?cmd=setcountry', { country: id }, function () { 59 barEndLoading(); 60 window.location.href = '/'; 61 }); 62 } 63 function flagErr(e) { 64 $(e.currentTarget).css('display', 'none'); 65 } 66 function clearSearch() { 67 setSearchQuery(""); 68 if (props.searchChanged) { 69 props.searchChanged(''); 70 } 71 } 72 function sqChange(e) { 73 var val = $(e.currentTarget).val(); 74 setSearchQuery(val); 75 } 76 function keyDown(e) { 77 if (e.which == 40 || e.which == 38 78 || (e.which == 13 && $(e.target).closest('input[type="text"]').length > 0)) { 79 var prevelem = null; 80 var nextelem = null; 81 var focusedelem = null; 82 $(mainElemRef.current).find('.purchasing-arrows-focus').each(function () { 83 if ($(this).is(':focus')) { 84 focusedelem = this; 85 } 86 else if (!focusedelem) { 87 prevelem = this; 88 } 89 else if (focusedelem && !nextelem) { 90 nextelem = this; 91 } 92 }); 93 if ((e.which == 40 || e.which == 13) && nextelem) { 94 e.preventDefault(); 95 $(nextelem).focus(); 96 } 97 if (e.which == 38 && prevelem) { 98 e.preventDefault(); 99 if (!focusedelem) 100 prevelem = $(mainElemRef.current).find('.purchasing-arrows-focus').first().get(0); 101 $(prevelem).focus(); 102 } 103 } 104 } 105 return (React.createElement("div", { ref: mainElemRef, style: { fontSize: '1rem' }, onKeyDown: keyDown }, 106 React.createElement("div", null, 107 React.createElement("div", { className: "purchasing-countries-searchBox-outer" }, 108 React.createElement("a", tslib_1.__assign({ role: "button", className: "purchasing-countries-searchBox-close" }, AppReactUtils_1.AppReactUtils.addClickHandler(close), { title: ls(1038) }), 109 React.createElement("i", { className: "fa fa-fw fa-arrow-left", "aria-label": ls(1038) })), 110 React.createElement("input", { type: "text", autoFocus: true, name: "sq", value: searchQuery, onChange: sqChange, autoComplete: 'off', placeholder: ls(3262), className: "purchasing-countries-searchBox purchasing-arrows-focus" }), 111 searchQuery && (React.createElement("a", tslib_1.__assign({ role: "button", className: "purchasing-countries-searchBox-clear" }, AppReactUtils_1.AppReactUtils.addClickHandler(clearSearch), { title: ls(8023) }), 112 React.createElement("i", { className: "fa fa-fw fa-close", "aria-label": ls(8023) }))))), 113 React.createElement("div", { style: { height: 'calc(100vh - 200px)', overflow: 'auto' } }, countries === null || countries === void 0 ? void 0 : countries.map(function (r) { 114 return (React.createElement("div", tslib_1.__assign({ key: r.countrycode, "data-id": r.countrycode, className: 'purchasing-country-item purchasing-arrows-focus', role: "button" }, AppReactUtils_1.AppReactUtils.addClickHandler(countryClick)), 115 React.createElement("div", { className: 'purchasing-country-item-icon' }, 116 React.createElement("img", { src: "/langs/pics/" + (r.countrycode == 'af' ? 'af2' : r.countrycode) + '.gif', alt: "", onError: flagErr })), 117 React.createElement("div", { className: 'purchasing-country-item-name' }, r.name), 118 React.createElement("div", { className: 'purchasing-country-item-code' }, r.countrycode))); 119 })), 120 React.createElement("div", { style: { padding: '12px', textAlign: 'center', backgroundColor: '#eeeeee' } }, 121 React.createElement("button", { type: "button", className: 'button-gray', onClick: close }, ls(1038))))); 122} 123exports.CountryChooser = CountryChooser; 124function CountryRedirectMsg(props) { 125 var country = props.country, lang = props.lang; 126 var redirect = exports.countryRedirects.find(function (r) { return r.countries.includes(country); }); 127 var _a = React.useState(sessionStorage.getItem('countryRedirectDlgClosed') == '1'), isClosed = _a[0], setIsClosed = _a[1]; 128 if (!redirect) 129 return null; 130 function close() { 131 sessionStorage.setItem('countryRedirectDlgClosed', '1'); 132 setIsClosed(true); 133 } 134 if (isClosed) 135 return null; 136 return (React.createElement("div", { className: "purchasing-country-redirect-outer" }, 137 React.createElement("div", { style: { position: 'absolute', top: '4px', right: '4px' } }, 138 React.createElement("a", tslib_1.__assign({ className: "purchasing-link-button", role: "button" }, AppReactUtils_1.AppReactUtils.addClickHandler(close), { "aria-label": ls(1567), title: ls(1567) }), 139 React.createElement("i", { className: "fa fa-fw fa-close", "aria-hidden": "true" }))), 140 React.createElement("div", null, 141 React.createElement("b", null, edurequest_1.client_req.ails('sk:OdporúÄame navÅ¡tÃviÅ¥ stránku regionálneho partnera'))), 142 React.createElement("div", null, edurequest_1.client_req.ails('sk:Pre použÃvateľov z VaÅ¡ej krajiny je k dispozÃcii lokáln
142a webová stránka nášho partnera s informáciami, podporou a službami prispôsobenými vášmu regiónu.')), 143 React.createElement("div", null, 144 React.createElement("a", { href: redirect.url, className: "purchasing-button green" }, edurequest_1.client_req.ails('sk:Prejsť na stránku partnera'))))); 145} 146exports.CountryRedirectMsg = CountryRedirectMsg;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.