{% extends "common/email_listing.html" %} {% load i18n %} {% block html_head %} {{ block.super }} {% endblock %} {% block js %} /*quota_pb = new ProgressBar({ container: $("quotabox"), startPercentage: 0, boxID: "box", percentageID: "perc", displayText: true, displayID: "quotatext" }); current_anchor.register_callback("viewmail", viewmail_cb); current_anchor.register_callback("compose", compose_callback); current_anchor.register_callback("reply", compose_callback); current_anchor.register_callback("replyall", compose_callback); current_anchor.register_callback("forward", compose_callback); window.addEvent("pageRefresh", function() { if (rtimer) { clearInterval(rtimer); rtimer = null; } });*/ new Webmail({ refreshRate: {{ refreshrate }}, modify_url: "{% url extensions.webmail.views.editfolder %}", delete_url: "{% url extensions.webmail.views.delfolder %}", move_url: "{% url extensions.webmail.views.move %}", submboxes_url: "{% url extensions.webmail.views.submailboxes %}" }); current_anchor.register_callback("folder", function(resp) { wm_updatelisting(resp); rtimer = refreshFolder.periodical({{ refreshrate }}); searchbox_init(); update_sortable_column(); var emails_table = new HtmlTable($("emails"), { selectable: true, shiftForMultiSelect: true }).addEvents({ rowFocus: function(tr) { clearInterval(rtimer); }, rowUnfocus: function(tr) { if (this._selectedRows.length == 0) { rtimer = refreshFolder.periodical({{ refreshrate }}); } } }); /* The IE way for disabling default selection */ /* Actually it doesn't work :p */ $$("tbody>tr").set("unselectable", "on"); bstart_dragging = function(item) { var block = new Element("div", {id: "draggeditems"}) .setStyles({"position" : "absolute", "opacity" : 0.8, "width" : "200px", "padding" : "5px", "text-align" : "center", "height" : "25px", "border" : "1px solid #333", "background" : "white", display: "none", "z-index" : 3, top : this.element.getCoordinates()['top'], left : this.element.getCoordinates()['left']}) .inject(document.body); block.store("parent", this.element); this.element = block; clearInterval(rtimer); }; start_dragging = function(item) { var tr = this.element.retrieve("parent").getParent(); if (!emails_table.isSelected(tr)) { emails_table.selectNone(); emails_table.selectRow(tr); } item.set("html", "Moving " + emails_table._selectedRows.length + " messages"); this.element.setStyle("display", "block"); }; enter_droppable = function(item, droppable) { droppable.addClass("dragging"); }; leave_droppable = function(item, droppable) { droppable.removeClass("dragging"); }; restore_parent = function(drag, item) { var parent = item.retrieve("parent"); drag.element = parent; rtimer = refreshFolder.periodical({{ refreshrate }}); }; drop_element = function(item, droppable, event) { this.element.dispose(); delete(this.element); if (!droppable) { restore_parent(this, item); return; } droppable.removeClass("dragging"); dest = gethref(droppable.getFirst("a")); msgset = new Array(); emails_table._selectedRows.each(function(item, index) { msgset.include(item.get("id")); }); {% url extensions.webmail.views.move as moveurl %} simple_request("{{ moveurl }}", {msgset : msgset.join(), to : dest}); }; cancel_dragging = function(item) { this.element.dispose(); delete(this.element); restore_parent(this, item); }; $$("td[class*=draggable]").each(function(item) { new Drag.Move(item, { droppables: ".droppable" }).addEvents({ beforeStart: bstart_dragging, start: start_dragging, enter: enter_droppable, leave: leave_droppable, drop: drop_element, cancel: cancel_dragging }); }); buildmarkrequest = function(evt) { evt.stop(); if (!emails_table._selectedRows.length) { return; } var ids = new Array(); emails_table._selectedRows.each(function(item, index) { ids.include(item.get("id")); }); simple_request(evt.target.get("href"), {ids : ids.join()}); }; $$("a[name=mark-read]").addEvent("click", buildmarkrequest); $$("a[name=mark-unread]").addEvent("click", buildmarkrequest); $$("a[name=fdaction]").addEvent("click", function(evt) { simple_request(evt.target.get("href"), {}); evt.stop(); }); if ($("toggleselect")) { $("toggleselect").addEvent("click", function(evt) { if (evt.target.checked) { emails_table.selectAll(); } else { emails_table.selectNone(); } }); } init_sortable_columns(); $$("tbody>tr").addEvent("dblclick", viewmail); }); {% endblock %} {% block middletitle %}{% trans "Webmail" %}{% endblock %} {% block leftcol %}