From f17463a9ea15a479376597f94f5d920bb8f4cc79 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 17 Apr 2022 15:27:21 +0300 Subject: Added latency test #134 --- src/pages/options/translate/translate.html | 418 +++++++++++++++++++++++++++++ src/pages/options/translate/translate.js | 110 ++++++-- 2 files changed, 506 insertions(+), 22 deletions(-) create mode 100644 src/pages/options/translate/translate.html (limited to 'src/pages/options/translate') diff --git a/src/pages/options/translate/translate.html b/src/pages/options/translate/translate.html new file mode 100644 index 00000000..53436c91 --- /dev/null +++ b/src/pages/options/translate/translate.html @@ -0,0 +1,418 @@ + + + + + + + + General + + + + + +
+
+

Enable

+ +
+
+

Frontend

+ +
+
+

Protocol

+ +
+
+
+
+

From

+ +
+
+

To

+ +
+
+

Engine

+ +
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+ + +
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+
+
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+ + +
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/src/pages/options/translate/translate.js b/src/pages/options/translate/translate.js index 5da48740..999d5e30 100644 --- a/src/pages/options/translate/translate.js +++ b/src/pages/options/translate/translate.js @@ -90,16 +90,19 @@ translateHelper.init().then(() => { toElement.value = translateHelper.getTo(); simplyTranslateEngineElement.value = translateHelper.getSimplyTranslateEngine(); - commonHelper.processDefaultCustomInstances( - 'simplyTranslate', - 'normal', - translateHelper, - document, - translateHelper.getSimplyTranslateNormalRedirectsChecks, - translateHelper.setSimplyTranslateNormalRedirectsChecks, - translateHelper.getSimplyTranslateNormalCustomRedirects, - translateHelper.setSimplyTranslateNormalCustomRedirects - ); + browser.storage.local.get("simplyTranslateLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'simplyTranslate', + 'normal', + translateHelper, + document, + translateHelper.getSimplyTranslateNormalRedirectsChecks, + translateHelper.setSimplyTranslateNormalRedirectsChecks, + translateHelper.getSimplyTranslateNormalCustomRedirects, + translateHelper.setSimplyTranslateNormalCustomRedirects, + r.simplyTranslateLatency, + ) + }) commonHelper.processDefaultCustomInstances( 'simplyTranslate', @@ -112,16 +115,20 @@ translateHelper.init().then(() => { translateHelper.setSimplyTranslateTorCustomRedirects ); - commonHelper.processDefaultCustomInstances( - 'lingva', - 'normal', - translateHelper, - document, - translateHelper.getLingvaNormalRedirectsChecks, - translateHelper.setLingvaNormalRedirectsChecks, - translateHelper.getLingvaNormalCustomRedirects, - translateHelper.setLingvaNormalCustomRedirects - ); + browser.storage.local.get("lingvaLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'lingva', + 'normal', + translateHelper, + document, + translateHelper.getLingvaNormalRedirectsChecks, + translateHelper.setLingvaNormalRedirectsChecks, + translateHelper.getLingvaNormalCustomRedirects, + translateHelper.setLingvaNormalCustomRedirects, + r.lingvaLatency, + ); + }); + commonHelper.processDefaultCustomInstances( 'lingva', @@ -131,6 +138,65 @@ translateHelper.init().then(() => { translateHelper.getLingvaTorRedirectsChecks, translateHelper.setLingvaTorRedirectsChecks, translateHelper.getLingvaTorCustomRedirects, - translateHelper.setLingvaTorCustomRedirects + translateHelper.setLingvaTorCustomRedirects, ) -}); \ No newline at end of file +}); + + +let latencySimplyTranslateElement = document.getElementById("latency-simplyTranslate"); +let latencySimplyTranslateLabel = document.getElementById("latency-simplyTranslate-label"); +latencySimplyTranslateElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencySimplyTranslateElement.addEventListener("click", reloadWindow); + await translateHelper.init(); + let redirects = translateHelper.getRedirects(); + const oldHtml = latencySimplyTranslateLabel.innerHTML; + latencySimplyTranslateLabel.innerHTML = '...'; + commonHelper.testLatency(latencySimplyTranslateLabel, redirects.simplyTranslate.normal).then(r => { + browser.storage.local.set({ simplyTranslateLatency: r }); + latencySimplyTranslateLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'simplyTranslate', + 'normal', + translateHelper, + document, + translateHelper.getSimplyTranslateNormalRedirectsChecks, + translateHelper.setSimplyTranslateNormalRedirectsChecks, + translateHelper.getSimplyTranslateNormalCustomRedirects, + translateHelper.setSimplyTranslateNormalCustomRedirects, + r, + ); + latencySimplyTranslateElement.removeEventListener("click", reloadWindow); + }); + } +); + +let latencyLingvaElement = document.getElementById("latency-lingva"); +let latencyLingvaLabel = document.getElementById("latency-lingva-label"); +latencyLingvaElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyLingvaElement.addEventListener("click", reloadWindow); + await translateHelper.init(); + let redirects = translateHelper.getRedirects(); + const oldHtml = latencyLingvaLabel.innerHTML; + latencyLingvaLabel.innerHTML = '...'; + commonHelper.testLatency(latencyLingvaLabel, redirects.lingva.normal).then(r => { + browser.storage.local.set({ lingvaLatency: r }); + latencyLingvaLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'lingva', + 'normal', + translateHelper, + document, + translateHelper.getLingvaNormalRedirectsChecks, + translateHelper.setLingvaNormalRedirectsChecks, + translateHelper.getLingvaNormalCustomRedirects, + translateHelper.setLingvaNormalCustomRedirects, + r, + ); + latencyLingvaElement.removeEventListener("click", reloadWindow); + }); + } +); \ No newline at end of file -- cgit 1.4.1