{"version":3,"sources":["shared/selectors/selectors-common.js"],"names":["exports","escapeHtml","str","Option","innerHTML","DEBUG","BindingAssists","jqEvt","which","preventDefault","some","k","ctrlKey","metaKey","altKey","ProviderSuggestionTemplates","provider","type","groupName","tradingName","providerNameObj","name","city","country","countryDisplay","cityCountryDisplay","providerNameDisplay","display","abbreviation","institutionTradingNameId","isAbbreviationMatch","line1","line2","line3","element","memberNames","members","reduce","o","m","remainingMemberCount","memberCount","length","substring","Selectors","SuggestionTemplates","Provider","window","App"],"mappings":"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","file":"selectors-common.js","sourcesContent":["(function(exports) {\r\n\tfunction escapeHtml(str) {\r\n\t\treturn new Option(str).innerHTML;\r\n\t}\r\n\r\n\tconst DEBUG = false;\r\n\r\n\tclass BindingAssists {\r\n\t\tstatic isNonTextInputKey(jqEvt) {\r\n\t\t\t// prevent accidentially submitting the form\r\n\t\t\tif (jqEvt.which === 13) {\r\n\t\t\t\tjqEvt.preventDefault();\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\t// ignore control characters (but allow backspace)\r\n\t\t\tif (jqEvt.which < 20 && jqEvt.which !== 8) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\t// ignore arrow keys\r\n\t\t\tif ([37, 38, 39, 40].some(k => k === jqEvt.which)) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\t// ignore control keys (if jquery sends them)\r\n\t\t\tif (jqEvt.ctrlKey || jqEvt.metaKey || jqEvt.altKey) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tclass ProviderSuggestionTemplates {\r\n\r\n\t\tstatic tradingName(provider) {\r\n\t\t\tconst providerNameObj = provider.name;\r\n\t\t\tconst city = escapeHtml(provider.city || \"\");\r\n\t\t\tconst country = escapeHtml(provider.countryDisplay || \"\");\r\n\r\n\t\t\tconst cityCountryDisplay = country && city\r\n\t\t\t\t? `${city}, ${country}`\r\n\t\t\t\t: city\r\n\t\t\t\t? city\r\n\t\t\t\t: country;\r\n\t\t\tlet providerNameDisplay = escapeHtml(providerNameObj.display);\r\n\t\t\tlet abbreviation = escapeHtml(provider.abbreviation);\r\n\r\n\t\t\tif (provider.institutionTradingNameId) {\r\n\t\t\t\tproviderNameDisplay = providerNameObj.tradingName;\r\n\t\t\t} else if (provider.isAbbreviationMatch) {\r\n\t\t\t\tproviderNameDisplay = `${providerNameDisplay} (${abbreviation})`;\r\n\t\t\t}\r\n\r\n\t\t\tconst line1 = `${providerNameDisplay}`;\r\n\t\t\tconst line2 = provider.institutionTradingNameId ? `
${providerNameObj.name}
` : \"\";\r\n\t\t\tconst line3 = cityCountryDisplay ? `
${cityCountryDisplay}
` : \"\";\r\n\r\n\t\t\treturn `
${line1}${line2}${line3}
`;\r\n\t\t}\r\n\r\n\t\tstatic groupName(provider) {\r\n\t\t\tlet element = ` ${escapeHtml(provider.name.display)} (group)`;\r\n\t\t\tlet memberNames = provider.members.reduce((o, m) => `${o}, ${escapeHtml(m.name)}`, \"\");\r\n\t\t\tlet remainingMemberCount = provider.memberCount - provider.members.length;\r\n\r\n\t\t\telement += `
incl:${memberNames.substring(1)}`;\r\n\r\n\t\t\tif (provider.memberCount > provider.members.length) {\r\n\t\t\t\telement += `, ${remainingMemberCount} others.`;\r\n\t\t\t}\r\n\t\t\telement += \"\";\r\n\r\n\t\t\treturn element;\r\n\t\t}\r\n\r\n\t\tgroupOrTradingName (provider) {\r\n\t\t\treturn provider.type === \"group\" ? ProviderSuggestionTemplates.groupName(provider)\r\n\t\t\t\t: ProviderSuggestionTemplates.tradingName(provider);\r\n\t\t}\r\n\t}\r\n\r\n\texports.Selectors = exports.Selectors || {};\r\n\texports.Selectors.SuggestionTemplates = {\r\n\t\tProvider: new ProviderSuggestionTemplates()\r\n\t};\r\n\texports.Selectors.BindingAssists = BindingAssists;\r\n})(window.App = window.App || {});\r\n"]}