diff --git a/android-client/web/app.html b/android-client/web/app.html index f3384b0..3f551a6 100644 --- a/android-client/web/app.html +++ b/android-client/web/app.html @@ -1144,6 +1144,22 @@ document.getElementById('fields').addEventListener('change', function (ev) { input.focus(); }); +// Le meme echange sur le formulaire de creation. Delegue sur #fields comme +// ci-dessus : les deux controles y vivent, seul leur identifiant differe. +document.getElementById('fields').addEventListener('change', function (ev) { + if (ev.target.id !== 'nFolder' || ev.target.value !== NEW_FOLDER) return; + var line = ev.target.parentNode; + var input = document.createElement('input'); + input.className = 'field-in'; + input.id = 'nFolder'; + input.setAttribute('placeholder', 'folder name'); + input.setAttribute('autocomplete', 'off'); + input.setAttribute('autocapitalize', 'none'); + input.style.cssText = 'margin:0;flex:1;min-width:0;width:auto'; + line.replaceChild(input, ev.target); + input.focus(); +}); + // EDITEUR EN PLACE, pas window.prompt : une invite JavaScript demande au // moteur un WebChromeClient que FMX ne fournit pas, et prompt() rend alors // null sans un mot - le bouton semblerait ne rien faire. @@ -1289,6 +1305,11 @@ function newFolderField() { + ' style="margin:0;flex:1;min-width:0;width:auto">'; for (i = 0; i < names.length; i++) html += ''; + // LA MEME OPTION QU'A L'EDITION, et il a fallu la reclamer pour s'en rendre + // compte : creer une entree ET son dossier d'un coup etait impossible. Il + // fallait creer l'entree, la rouvrir, changer son dossier - trois gestes pour + // ce que le meme controle sait faire ailleurs en un seul. + html += ''; return html + ''; } @@ -1382,7 +1403,11 @@ document.getElementById('fields').addEventListener('click', function (ev) { var v = function (id) { return document.getElementById(id).value.trim(); }; ev.target.disabled = true; var fold = document.getElementById('nFolder'); - send('newentry?d=' + encodeURIComponent(fold ? fold.value : 'All') + // Le champ libre peut rester vide, et le marqueur du "+ new folder" ne doit + // jamais partir tel quel : les deux retombent sur All. + var foldName = fold ? fold.value.trim() : ''; + if (foldName === '' || foldName === NEW_FOLDER) foldName = 'All'; + send('newentry?d=' + encodeURIComponent(foldName) + '&t=' + encodeURIComponent(v('nTitle')) + '&s=' + encodeURIComponent(v('nSite')) + '&u=' + encodeURIComponent(v('nUser'))