From 74863d3c98b8e520ae8594a72f4b67589c429062 Mon Sep 17 00:00:00 2001 From: kkapsner Date: Fri, 8 Dec 2017 20:20:42 +0100 Subject: [PATCH] Switched from prompt() to inputs. --- options/options.css | 8 ++++++++ options/optionsGui.js | 29 +++++++++++++++++++++++------ 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/options/options.css b/options/options.css index 54ebb5e..7c338e7 100644 --- a/options/options.css +++ b/options/options.css @@ -94,6 +94,14 @@ input[type=""], input[type="text"], input[type="number"], select { } .urlValues table .reset, .urlValues table .add, .urlValues table .url { cursor: pointer; + margin: 0 0.2em; +} +.urlValues table .url { + min-width: 4em; +} +.urlValues table .urlInput { + padding: 1px; + margin: -1px; } .urlValues .collapser { position: absolute; diff --git a/options/optionsGui.js b/options/optionsGui.js index ccb2adf..950ce1b 100644 --- a/options/optionsGui.js +++ b/options/optionsGui.js @@ -148,13 +148,17 @@ let footRow = document.createElement("tr"); let footCell = document.createElement("td"); footCell.colSpan = 3; + let newInput = document.createElement("input"); + newInput.title = browser.i18n.getMessage("inputURL"); + footCell.appendChild(newInput); let footPlus = document.createElement("span"); footPlus.classList.add("add"); footPlus.textContent = "+"; footPlus.addEventListener("click", function(){ - var url = prompt(browser.i18n.getMessage("inputURL")).trim(); + var url = newInput.value.trim(); if (url){ setting.set(setting.get(url), url); + newInput.value = ""; } }); footCell.appendChild(footPlus); @@ -170,11 +174,24 @@ let urlCell = document.createElement("td"); urlCell.classList.add("url"); urlCell.addEventListener("click", function(){ - var url = prompt(browser.i18n.getMessage("inputURL"), entry.url).trim(); - if (url){ - entry.url = url; - setting.urlContainer.refresh(); - } + var input = document.createElement("input"); + input.classList.add("urlInput"); + input.style.width = urlCell.clientWidth + "px"; + input.style.height = urlCell.clientHeight + "px"; + urlCell.innerHTML = ""; + urlCell.appendChild(input); + input.title = browser.i18n.getMessage("inputURL"); + input.value = entry.url; + input.focus(); + input.addEventListener("blur", function(){ + var url = input.value.trim(); + if (url){ + entry.url = url; + setting.urlContainer.refresh(); + } + urlCell.removeChild(input); + urlCell.textContent = entry.url; + }); }); urlCell.textContent = entry.url; row.appendChild(urlCell);