/** @param {number} row */ function deleteLexicon(row) { const formEl = document.getElementById("form") const lexicon = formEl.elements["row-" + row].value console.log("Lexicon=%o", lexicon) const args = encodeMarks(lexicon) console.log("deleteLexicon> Args=%o", args) window.location = '/fn/unsafe/delete-lexicon?' + args } /** @param {number} row */ function deleteLex(row) { const formEl = document.getElementById("form") const lexicon = formEl.elements["lexicon"].value console.log("deleteLex> Lexicon=%o", lexicon) const lex = formEl.elements["row-" + row].value console.log("deleteLex> Lex=%o", lex) const args = encodeMarks(lexicon) + '/' + encodeMarks(lex) console.log("Args=%o", args) window.location = '/fn/unsafe/delete-lex?' + args } /** @param {number} row */ function deleteForm(row) { const formEl = document.getElementById("form") const lexicon = formEl.elements["lexicon"].value console.log("deleteForm> Lexicon=%o", lexicon) const lex = formEl.elements["lex"].value console.log("deleteForm> Lex=%o", lex) const form = formEl.elements["row-" + row].value console.log("deleteForm> Form=%o", form) const args = encodeMarks(lexicon) + '/' + encodeMarks(lex) + '/' + encodeMarks(form) console.log("deleteForm> Args=%o", args) window.location = '/fn/unsafe/delete-form?' + args } /** * Apostrophes are replaced with quote marks so as not to interfere with the * HTML or need special escaping in the URI. * @param {string} str * @returns {string} */ function encodeMarks(str) { const ret = str .replace(/"/g, `”`) .replace(/'/g, `’`) console.log("encodeMarks> Str=%o Ret=%o", str, ret) return ret }