commit aee8426aa644b9cb762a62cf56369e1f6207ebb8 Author: OverPoweredDev Date: Sun Aug 1 13:20:46 2021 +0530 added feature: support for local/custom Apy I'll add basic detection for whether langPairs/ and all work soon diff --git a/src/lib/storage.js b/src/lib/storage.js index 261416c..1c4443b 100644 --- a/src/lib/storage.js +++ b/src/lib/storage.js @@ -357,5 +357,12 @@ function isHostname(url) { let validHostnameRegex = "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])"; let r = RegExp(validHostnameRegex); + return r.test(url); +} + +function isURL(url) { + let validURLRegex = "^(http(s)?:\\/\\/)?(www\\.)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$"; + let r = RegExp(validURLRegex); + return r.test(url); } \ No newline at end of file diff --git a/src/settings/settings.html b/src/settings/settings.html index 5f3001e..66fcb61 100644 --- a/src/settings/settings.html +++ b/src/settings/settings.html @@ -51,7 +51,7 @@
diff --git a/src/settings/settings.js b/src/settings/settings.js index 30efa4a..4ce02fa 100644 --- a/src/settings/settings.js +++ b/src/settings/settings.js @@ -49,6 +49,16 @@ $("#source-select").on('click', async function (e) { createDropdown($("#target-language-dropdown")); }); +$('#add-apy-url').on('click', async function () { + let customApyInput = $('#apy-input'); + globalSettings.apertiumSource = customApyInput.val(); + + saveGlobalSettings(globalSettings); + await updateLanguagePairs(); + setLastUpdated(new Date().toLocaleString()); + createDropdown($("#target-language-dropdown")); +}); + $('#add-custom-apy-div').on('click', function (e) { e.stopPropagation(); }); @@ -97,6 +107,8 @@ function setDefaultLanguage(defaultLanguage) { function setApertiumSource(apertiumSource) { let sourceSelect = $("#source-select"); + let customApyInput = $('#apy-input'); + customApyInput.attr("placeholder", "http://localhost:2737/"); switch (apertiumSource) { case "https://apertium.org/apy/": sourceSelect.val("release").change(); @@ -104,8 +116,9 @@ function setApertiumSource(apertiumSource) { case "https://beta.apertium.org/apy/": sourceSelect.val("beta").change(); break; - case "Local/Custom Source": + default: sourceSelect.val("custom").change(); + customApyInput.attr("placeholder", apertiumSource); break; } }