- Fixed listmenu (added workaround for http://bugs.jquery.com/ticket/9284)

- Small code improvements and use preferred .prop() instead of .attr() for some properties
release-0.6
alecpl 14 years ago
parent e2f185e1b3
commit 491133a0b2

@ -394,7 +394,7 @@ function rcube_webmail()
// display 'loading' message on form submit, lock submit button // display 'loading' message on form submit, lock submit button
$('form').submit(function () { $('form').submit(function () {
$('input[type=submit]', this).attr('disabled', true); $('input[type=submit]', this).prop('disabled', true);
rcmail.display_message('', 'loading'); rcmail.display_message('', 'loading');
}); });
@ -4018,7 +4018,7 @@ function rcube_webmail()
var elem = $('#ff_'+col); var elem = $('#ff_'+col);
if (elem.length) { if (elem.length) {
elem.show().focus(); elem.show().focus();
$(menu).children('option[value="'+col+'"]').attr('disabled', true); $(menu).children('option[value="'+col+'"]').prop('disabled', true);
} }
else { else {
var lastelem = $('.ff_'+col), var lastelem = $('.ff_'+col),
@ -4042,22 +4042,18 @@ function rcube_webmail()
if (colprop.type == 'text' || colprop.type == 'date') { if (colprop.type == 'text' || colprop.type == 'date') {
input = $('<input>') input = $('<input>')
.addClass('ff_'+col) .addClass('ff_'+col)
.attr('type', 'text') .attr({type: 'text', name: '_'+col+name_suffix, size: colprop.size})
.attr('name', '_'+col+name_suffix)
.attr('size', colprop.size)
.appendTo(cell); .appendTo(cell);
this.init_edit_field(col, input); this.init_edit_field(col, input);
} }
else if (colprop.type == 'composite') { else if (colprop.type == 'composite') {
var childcol, cp, first; var childcol, cp, first;
for (var childcol in colprop.childs) { for (childcol in colprop.childs) {
cp = colprop.childs[childcol]; cp = colprop.childs[childcol];
input = $('<input>') input = $('<input>')
.addClass('ff_'+childcol) .addClass('ff_'+childcol)
.attr('type', 'text') .attr({type: 'text', name: '_'+childcol+name_suffix, size: cp.size})
.attr('name', '_'+childcol+name_suffix)
.attr('size', cp.size)
.appendTo(cell); .appendTo(cell);
cell.append(" "); cell.append(" ");
this.init_edit_field(childcol, input); this.init_edit_field(childcol, input);
@ -4080,8 +4076,7 @@ function rcube_webmail()
if (input) { if (input) {
var delbutton = $('<a href="#del"></a>') var delbutton = $('<a href="#del"></a>')
.addClass('contactfieldbutton deletebutton') .addClass('contactfieldbutton deletebutton')
.attr('title', this.get_label('delete')) .attr({title: this.get_label('delete'), rel: col})
.attr('rel', col)
.html(this.env.delbutton) .html(this.env.delbutton)
.click(function(){ ref.delete_edit_field(this); return false }) .click(function(){ ref.delete_edit_field(this); return false })
.appendTo(cell); .appendTo(cell);
@ -4092,7 +4087,7 @@ function rcube_webmail()
// disable option if limit reached // disable option if limit reached
if (!colprop.count) colprop.count = 0; if (!colprop.count) colprop.count = 0;
if (++colprop.count == colprop.limit && colprop.limit) if (++colprop.count == colprop.limit && colprop.limit)
$(menu).children('option[value="'+col+'"]').attr('disabled', true); $(menu).children('option[value="'+col+'"]').prop('disabled', true);
} }
} }
} }
@ -4119,14 +4114,13 @@ function rcube_webmail()
if (addmenu.length) { if (addmenu.length) {
var option = addmenu.children('option[value="'+col+'"]'); var option = addmenu.children('option[value="'+col+'"]');
if (option.length) if (option.length)
option.attr('disabled', false); option.prop('disabled', false);
else else
option = $('<option>').attr('value', col).html(colprop.label).appendTo(addmenu); option = $('<option>').attr('value', col).html(colprop.label).appendTo(addmenu);
addmenu.show(); addmenu.show();
} }
}; };
this.upload_contact_photo = function(form) this.upload_contact_photo = function(form)
{ {
if (form && form.elements._photo.value) { if (form && form.elements._photo.value) {
@ -4392,7 +4386,7 @@ function rcube_webmail()
row.cells[1].innerHTML = '*'; row.cells[1].innerHTML = '*';
// update subscription checkbox // update subscription checkbox
$('input[name="_subscribed[]"]', row).val(name).attr('checked', true); $('input[name="_subscribed[]"]', row).val(name).prop('checked', true);
} }
this.init_subscription_list(); this.init_subscription_list();
@ -4501,7 +4495,7 @@ function rcube_webmail()
{ {
var id = this.get_folder_row_id(folder); var id = this.get_folder_row_id(folder);
if (id) if (id)
$('input[name="_subscribed[]"]', $('#'+id)).attr('disabled', true); $('input[name="_subscribed[]"]', $('#'+id)).prop('disabled', true);
}; };
this.folder_size = function(folder) this.folder_size = function(folder)

@ -176,12 +176,12 @@ searchmenu: function(show)
if (show && ref) { if (show && ref) {
var pos = $(ref).offset(); var pos = $(ref).offset();
obj.css({ left:pos.left, top:(pos.top + ref.offsetHeight + 2)}) obj.css({ left:pos.left, top:(pos.top + ref.offsetHeight + 2)})
.find(':checked').attr('checked', false); .find(':checked').prop('checked', false);
if (rcmail.env.search_mods) { if (rcmail.env.search_mods) {
var search_mods = rcmail.env.search_mods[rcmail.env.mailbox] ? rcmail.env.search_mods[rcmail.env.mailbox] : rcmail.env.search_mods['*']; var search_mods = rcmail.env.search_mods[rcmail.env.mailbox] ? rcmail.env.search_mods[rcmail.env.mailbox] : rcmail.env.search_mods['*'];
for (var n in search_mods) for (var n in search_mods)
$('#s_mod_' + n).attr('checked', true); $('#s_mod_' + n).prop('checked', true);
} }
} }
obj[show?'show':'hide'](); obj[show?'show':'hide']();
@ -219,21 +219,20 @@ listmenu: function(show)
obj.css({ left:pos.left, top:(pos.top + ref.offsetHeight + 2)}); obj.css({ left:pos.left, top:(pos.top + ref.offsetHeight + 2)});
// set form values // set form values
$('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').attr('checked', 1); $('input[name="sort_col"][value="'+rcmail.env.sort_col+'"]').prop('checked', true);
$('input[name="sort_ord"][value="DESC"]').attr('checked', rcmail.env.sort_order=='DESC' ? 1 : 0); $('input[name="sort_ord"][value="DESC"]').prop('checked', rcmail.env.sort_order == 'DESC');
$('input[name="sort_ord"][value="ASC"]').attr('checked', rcmail.env.sort_order=='DESC' ? 0 : 1); $('input[name="sort_ord"][value="ASC"]').prop('checked', rcmail.env.sort_order != 'DESC');
$('input[name="view"][value="thread"]').attr('checked', rcmail.env.threading ? 1 : 0); $('input[name="view"][value="thread"]').prop('checked', rcmail.env.threading ? true : false);
$('input[name="view"][value="list"]').attr('checked', rcmail.env.threading ? 0 : 1); $('input[name="view"][value="list"]').prop('checked', rcmail.env.threading ? false : true);
// list columns // list columns
var cols = $('input[name="list_col[]"]'); var found, cols = $('input[name="list_col[]"]');
for (var i=0; i<cols.length; i++) { for (var i=0; i<cols.length; i++) {
var found = 0;
if (cols[i].value != 'from') if (cols[i].value != 'from')
found = jQuery.inArray(cols[i].value, rcmail.env.coltypes) != -1; found = jQuery.inArray(cols[i].value, rcmail.env.coltypes) != -1;
else else
found = (jQuery.inArray('from', rcmail.env.coltypes) != -1 found = (jQuery.inArray('from', rcmail.env.coltypes) != -1
|| jQuery.inArray('to', rcmail.env.coltypes) != -1); || jQuery.inArray('to', rcmail.env.coltypes) != -1);
$(cols[i]).attr('checked',found ? 1 : 0); $(cols[i]).prop('checked', found);
} }
} }

Loading…
Cancel
Save