- Improved all headers viewer (mostly in Larry skin)
| | |
| | | |
| | | this.env.message_commands = ['show', 'reply', 'reply-all', 'reply-list', 'forward', |
| | | 'moveto', 'copy', 'delete', 'open', 'mark', 'edit', 'viewsource', 'download', |
| | | 'print', 'load-attachment', 'load-headers', 'forward-attachment']; |
| | | 'print', 'load-attachment', 'show-headers', 'hide-headers', 'forward-attachment']; |
| | | |
| | | if (this.env.action == 'show' || this.env.action == 'preview') { |
| | | this.enable_command(this.env.message_commands, this.env.uid); |
| | |
| | | } |
| | | else if (this.task == 'addressbook') |
| | | this.list_contacts(props); |
| | | break; |
| | | |
| | | case 'load-headers': |
| | | this.load_headers(obj); |
| | | break; |
| | | |
| | | case 'sort': |
| | |
| | | default: |
| | | var func = command.replace(/-/g, '_'); |
| | | if (this[func] && typeof this[func] === 'function') { |
| | | ret = this[func](props); |
| | | ret = this[func](props, obj); |
| | | } |
| | | break; |
| | | } |
| | |
| | | }; |
| | | |
| | | // display all-headers row and fetch raw message headers |
| | | this.load_headers = function(elem) |
| | | this.show_headers = function(props, elem) |
| | | { |
| | | if (!this.gui_objects.all_headers_row || !this.gui_objects.all_headers_box || !this.env.uid) |
| | | return; |
| | | |
| | | $(elem).removeClass('show-headers').addClass('hide-headers'); |
| | | $(this.gui_objects.all_headers_row).show(); |
| | | elem.onclick = function() { rcmail.hide_headers(elem); }; |
| | | elem.onclick = function() { rcmail.command('hide-headers', '', elem); }; |
| | | |
| | | // fetch headers only once |
| | | if (!this.gui_objects.all_headers_box.innerHTML) { |
| | |
| | | }; |
| | | |
| | | // hide all-headers row |
| | | this.hide_headers = function(elem) |
| | | this.hide_headers = function(props, elem) |
| | | { |
| | | if (!this.gui_objects.all_headers_row || !this.gui_objects.all_headers_box) |
| | | return; |
| | | |
| | | $(elem).removeClass('hide-headers').addClass('show-headers'); |
| | | $(this.gui_objects.all_headers_row).hide(); |
| | | elem.onclick = function() { rcmail.load_headers(elem); }; |
| | | elem.onclick = function() { rcmail.command('show-headers', '', elem); }; |
| | | }; |
| | | |
| | | |
| | |
| | | { |
| | | global $OUTPUT; |
| | | |
| | | $html = html::div(array('class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('load-headers','',this)"), ''); |
| | | $html .= html::div(array('id' => "all-headers", 'class' => "all", 'style' => 'display:none'), html::div(array('id' => 'headers-source'), '')); |
| | | $html = html::div(array('id' => "all-headers", 'class' => "all", 'style' => 'display:none'), html::div(array('id' => 'headers-source'), '')); |
| | | $html .= html::div(array('class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('show-headers','',this)"), ''); |
| | | |
| | | $OUTPUT->add_gui_object('all_headers_row', 'all-headers'); |
| | | $OUTPUT->add_gui_object('all_headers_box', 'headers-source'); |
| | |
| | | |
| | | #headers-source |
| | | { |
| | | margin: 0 0 2px 0; |
| | | margin: 2px 0; |
| | | padding: 0.5em; |
| | | height: 145px; |
| | | background: white; |
| | | overflow: auto; |
| | | font-size: 11px; |
| | | border: 1px solid #999999; |
| | | border: 1px solid #CCC; |
| | | display: none; |
| | | text-align: left; |
| | | color: #333; |
| | |
| | | background-position: -32px -242px; |
| | | } |
| | | |
| | | #full-headers { |
| | | position: relative; |
| | | color: #666; |
| | | text-align: center; |
| | | background-color: #f9f9f9; |
| | | background: -moz-linear-gradient(top, #eaeaea 0%, #e9e9e9 100%); |
| | | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eaeaea), color-stop(100%,#e9e9e9)); |
| | | background: -o-linear-gradient(top, #eaeaea 0%, #e9e9e9 100%); |
| | | background: -ms-linear-gradient(top, #eaeaea 0%, #e9e9e9 100%); |
| | | background: linear-gradient(top, #eaeaea 0%, #e9e9e9 100%); |
| | | } |
| | | |
| | | div.more-headers { |
| | | cursor: pointer; |
| | | height: 10px; |
| | |
| | | } |
| | | |
| | | #all-headers { |
| | | position: absolute; |
| | | top: 11px; |
| | | left: 10px; |
| | | right: 10px; |
| | | position: relative; |
| | | margin: 0 10px; |
| | | padding: 0; |
| | | height: 180px; |
| | | z-index: 500; |
| | | border: 1px solid #bbb; |
| | | border-top: 0; |
| | | border-radius: 0 0 4px 4px; |
| | | -webkit-box-shadow: 0px 3px 4px 0px rgba(80, 80, 80, 0.6); |
| | | -moz-box-shadow: 0px 3px 4px 0px rgba(80, 80, 80, 0.6); |
| | | box-shadow: 0px 3px 4px 0px rgba(80, 80, 80, 0.6); |
| | | border-radius: 4px; |
| | | background: #fff; |
| | | background: -moz-linear-gradient(top, #f0f0f0 0%, #fff 8%, #fff 100%); |
| | | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f0f0), color-stop(8%,#fff), color-stop(100%,#fff)); |
| | | background: -o-linear-gradient(top, #f0f0f0 0%, #fff 8%, #fff 100%); |
| | | background: -ms-linear-gradient(top, #f0f0f0 0%, #fff 8%, #fff 100%); |
| | | background: linear-gradient(top, #f0f0f0 0%, #fff 8%, #fff 100%); |
| | | } |
| | | |
| | | #all-headers .ui-resizable-s { |
| | | bottom: -2px; |
| | | } |
| | | |
| | | #headers-source { |
| | | display: none; |
| | | position: absolute; |
| | | top: 8px; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 8px; |
| | | padding: 0 10px; |
| | | bottom: 0; |
| | | padding: 2px 5px; |
| | | overflow: auto; |
| | | text-align: left; |
| | | color: #333; |
| | |
| | | |
| | | if (rcmail.env.action == 'show' || rcmail.env.action == 'preview') { |
| | | layout_messageview(); |
| | | $("#all-headers").resizable({ handles: 's', minHeight: 50 }); |
| | | rcmail.addEventListener('aftershow-headers', function() { layout_messageview(); }); |
| | | rcmail.addEventListener('afterhide-headers', function() { layout_messageview(); }); |
| | | $('#previewheaderstoggle').click(function(e){ toggle_preview_headers(this); return false }); |
| | | } |
| | | else if (rcmail.env.action == 'compose') { |