Rely on the default post form _only once_ when there isn't any password saved.

This commit is contained in:
Nicolas Stepien 2011-12-29 21:51:41 +01:00
parent 9fb173b4e9
commit 5f03b8949d
2 changed files with 16 additions and 8 deletions

View File

@ -1243,7 +1243,7 @@
return ta.selectionEnd = ta.selectionStart = caretPos + text.length;
},
dialog: function() {
var input, _i, _len, _ref;
var input, inputs, _i, _len;
qr.el = ui.dialog('qr', 'top:0;right:0;', '\
<style>\
.autohide:not(:hover) > div:not(.move) {\
@ -1265,14 +1265,17 @@
</div>');
$.on($('#autohide', qr.el), 'click', qr.hide);
$.on($('.close', qr.el), 'click', qr.close);
_ref = [$('[name=name]', qr.el), $('[name=email]', qr.el), $('[name=pwd]', qr.el)];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
input = _ref[_i];
input.value = $.get("qr_" + input.name, $(".postarea [name=" + input.name + "]").value);
inputs = [$('[name=name]', qr.el), $('[name=email]', qr.el), $('[name=pwd]', qr.el)];
for (_i = 0, _len = inputs.length; _i < _len; _i++) {
input = inputs[_i];
input.value = $.get("qr_" + input.name, null);
$.on(input, 'change', function() {
return $.set("qr_" + this.name, this.value);
});
}
if (!inputs[2].value) {
$.set("qr_pwd", inputs[2].value = $('.postarea [name=pwd]').value);
}
$.on(window, 'storage', function(e) {
var match;
if (match = e.key.match(/qr_(name|email|pwd)$/)) {

View File

@ -935,10 +935,15 @@ qr =
$.on $('#autohide', qr.el), 'click', qr.hide
$.on $('.close', qr.el), 'click', qr.close
# save & load inputs' value with localStorage, sync between tabs
for input in [$('[name=name]', qr.el), $('[name=email]', qr.el), $('[name=pwd]', qr.el)]
input.value = $.get "qr_#{input.name}", $(".postarea [name=#{input.name}]").value
# save & load inputs' value with localStorage
inputs = [$('[name=name]', qr.el), $('[name=email]', qr.el), $('[name=pwd]', qr.el)]
for input in inputs
input.value = $.get "qr_#{input.name}", null
$.on input, 'change', -> $.set "qr_#{@name}", @value
# load & save default password if there isn't any saved
unless inputs[2].value
$.set "qr_pwd", inputs[2].value = $('.postarea [name=pwd]').value
# sync between tabs
$.on window, 'storage', (e) ->
if match = e.key.match /qr_(name|email|pwd)$/
$("[name=#{match[1]}]", qr.el).value = JSON.parse e.newValue