MCPcopy Create free account
hub / github.com/SKVNDR/FastDork / loadAndPopulateEngines

Function loadAndPopulateEngines

Script/FastDork.js:708–758  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

706 );
707 }
708 async function loadAndPopulateEngines() {
709 console.log("[loadAndPopulateEngines] Populating engines...");
710 if (!UI.searchengineSelect) return;
711 let engineOptions = [];
712 try {
713 const data = await getStorageData([
714 CONSTANTS.STORAGE_KEYS.USER_SELECTORS,
715 CONSTANTS.STORAGE_KEYS.DEFAULT_SELECTORS,
716 ]);
717 const userConfigs = data[CONSTANTS.STORAGE_KEYS.USER_SELECTORS] || {};
718 const defaultConfigs =
719 data[CONSTANTS.STORAGE_KEYS.DEFAULT_SELECTORS] || {};
720 const allConfigs = { ...defaultConfigs, ...userConfigs };
721 const validEngines = [];
722 for (const key in allConfigs) {
723 if (Object.prototype.hasOwnProperty.call(allConfigs, key)) {
724 const config = allConfigs[key];
725 if (config && config.useInEngineSelect === true && config.baseUrl) {
726 validEngines.push({ key: key, config: config });
727 }
728 }
729 }
730 validEngines.sort(sortSearchEngines);
731 engineOptions = validEngines.map((engineData) => {
732 let displayName = engineData.key;
733 const domainParts = engineData.key.split(".");
734 if (domainParts.length >= 2)
735 displayName = domainParts[domainParts.length - 2];
736 displayName =
737 displayName.charAt(0).toUpperCase() + displayName.slice(1);
738 const truncatedDisplayName = truncateText(displayName, 15);
739 return {
740 value: engineData.key,
741 text: truncatedDisplayName,
742 title: engineData.key,
743 };
744 });
745 UI.searchengineSelect.disabled = engineOptions.length === 0;
746 } catch (error) {
747 console.error("Error fetching search engines:", error);
748 UI.searchengineSelect.disabled = true;
749 }
750 populateDropdownWithOptions(
751 UI.searchengineSelect,
752 "Search Engine",
753 engineOptions
754 );
755 if (engineOptions.length === 0)
756 console.warn("No search engines found eligible for dropdown.");
757 console.log("[loadAndPopulateEngines] Finished populating engines.");
758 }
759 function selectOptionByValue(selectElement, valueToSelect) {
760 if (
761 !selectElement ||

Callers 1

initializeFunction · 0.85

Calls 3

truncateTextFunction · 0.85
getStorageDataFunction · 0.70

Tested by

no test coverage detected