Remember subject, and sync it between tabs. Close #52

This commit is contained in:
Nicolas Stepien 2011-12-30 00:36:53 +01:00
parent ff90f7f97f
commit c637ee308b
2 changed files with 10 additions and 7 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) > #form {\
@ -1265,9 +1265,10 @@
</div>');
$.on($('#autohide', qr.el), 'click', qr.hide);
$.on($('.close', qr.el), 'click', qr.close);
_ref = [$('[name=name]', qr.el), $('[name=email]', qr.el)];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
input = _ref[_i];
inputs = [$('[name=name]', qr.el), $('[name=email]', qr.el)];
if (conf['Remember Subject']) inputs.push($('[name=subject]', 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);
@ -1275,7 +1276,7 @@
}
$.on(window, 'storage', function(e) {
var match;
if (match = e.key.match(/qr_(name|email)$/)) {
if (match = e.key.match(/qr_(.+)$/)) {
return $("[name=" + match[1] + "]", qr.el).value = JSON.parse(e.newValue);
}
});

View File

@ -936,12 +936,14 @@ qr =
$.on $('.close', qr.el), 'click', qr.close
# save & load inputs' value with localStorage
for input in [$('[name=name]', qr.el), $('[name=email]', qr.el)]
inputs = [$('[name=name]', qr.el), $('[name=email]', qr.el)]
inputs.push $('[name=subject]', qr.el) if conf['Remember Subject']
for input in inputs
input.value = $.get "qr_#{input.name}", null
$.on input, 'change', -> $.set "qr_#{@name}", @value
# sync between tabs
$.on window, 'storage', (e) ->
if match = e.key.match /qr_(name|email)$/
if match = e.key.match /qr_(.+)$/
$("[name=#{match[1]}]", qr.el).value = JSON.parse e.newValue
$.add d.body, qr.el