Skip to content

Commit

Permalink
Merge pull request #884 from josaphatim/move-copy-btns-fix
Browse files Browse the repository at this point in the history
Fixed move and copy buttons not working
  • Loading branch information
kroky authored Feb 8, 2024
2 parents da1bf4b + 7dfa020 commit cbd3214
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 22 deletions.
4 changes: 2 additions & 2 deletions modules/core/message_list_functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -350,8 +350,8 @@ function icon_callback($vals, $style, $output_mod) {
*/
if (!hm_exists('message_controls')) {
function message_controls($output_mod) {
$res = '<a class="toggle_link border px-1 m-0" href="#"><i class="bi bi-check"></i></a>'.
'<div class="msg_controls fs-6 d-none gap-2">'.
$res = '<a class="toggle_link" href="#"><i class="bi bi-check-square-fill"></i></a>'.
'<div class="msg_controls fs-6 d-none gap-1">'.
'<a class="msg_read core_msg_control btn btn-sm btn-light border text-black-50" href="#" data-action="read">'.$output_mod->trans('Read').'</a>'.
'<a class="msg_unread core_msg_control btn btn-sm btn-light border text-black-50" href="#" data-action="unread">'.$output_mod->trans('Unread').'</a>'.
'<a class="msg_flag core_msg_control btn btn-sm btn-light border text-black-50" href="#" data-action="flag">'.$output_mod->trans('Flag').'</a>'.
Expand Down
2 changes: 1 addition & 1 deletion modules/core/output_modules.php
Original file line number Diff line number Diff line change
Expand Up @@ -1833,7 +1833,7 @@ protected function output() {
}
$res = '';
$res .= '<div class="message_list p-0 '.$this->html_safe($this->get('list_path')).'_list"><div class="content_title d-flex gap-3 justify-content-between px-3 align-items-center">';
$res .= '<div class="d-flex gap-3">' . message_controls($this).'<div class="mailbox_list_title">'.
$res .= '<div class="d-flex align-items-center gap-1">' . message_controls($this).'<div class="mailbox_list_title">'.
implode('<img class="path_delim" src="'.Hm_Image_Sources::$caret.'" alt="&gt;" width="8" height="8" />', array_map( function($v) { return $this->trans($v); },
$this->get('mailbox_list_title', array()))).'</div>';
if (!$this->get('is_mobile') && substr((string) $this->get('list_path'), 0, 5) != 'imap_') {
Expand Down
18 changes: 9 additions & 9 deletions modules/imap/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ function format_imap_folder_section($folders, $id, $output_mod) {
$folder_name = bin2hex($folder_name);
$results .= '<li class="imap_'.$id.'_'.$output_mod->html_safe($folder_name).'">';
if ($folder['children']) {
$results .= '<a href="#" class="imap_folder_link expand_link" data-target="imap_'.intval($id).'_'.$output_mod->html_safe($folder_name).'">+</a>';
$results .= '<a href="#" class="imap_folder_link expand_link d-inline-flex" data-target="imap_'.intval($id).'_'.$output_mod->html_safe($folder_name).'"><i class="bi bi-plus-circle-fill"></i></a>';
}
else {
$results .= '<i class="bi bi-folder2-open"></i> ';
Expand All @@ -144,7 +144,7 @@ function format_imap_folder_section($folders, $id, $output_mod) {
$results .= '<span class="unread_count unread_imap_'.$id.'_'.$output_mod->html_safe($folder_name).'"></span></li>';
}
if ($manage) {
$results .= '<li class="manage_folders_li"><a class="manage_folder_link" href="'.$manage.'"><img class="folder_icon manage_folder_icon" src="'.Hm_Image_Sources::$cog.'" alt="" width="16" height="16" />'.$output_mod->trans('Manage Folders').'</a>';
$results .= '<li class="manage_folders_li"><i class="bi bi-gear-wide me-1"></i><a class="manage_folder_link" href="'.$manage.'">'.$output_mod->trans('Manage Folders').'</a>';
}
$results .= '</ul>';
return $results;
Expand Down Expand Up @@ -1386,21 +1386,21 @@ function snooze_formats() {
function snooze_dropdown($output, $unsnooze = false) {
$values = snooze_formats();

$txt = '<div class="btn-group">
$txt = '<div class="dropdown">
<button type="button" class="btn btn-outline-success btn-sm dropdown-toggle" id="dropdownMenuSnooze" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">'.$output->trans('Snooze').'</button>
<div class="dropdown-menu mt-4" aria-labelledby="dropdownMenuSnooze">';
<ul class="dropdown-menu" aria-labelledby="dropdownMenuSnooze">';
foreach ($values as $format) {
$labels = get_snooze_date($format, true);
$txt .= '<a href="#" class="snooze_helper dropdown-item d-flex justify-content-between gap-5 py-2" data-value="'.$format.'"><span>'.$output->trans($labels[0]).'</span> <span class="text-end">'.$labels[1].'</span></a>';
$txt .= '<li><a href="#" class="snooze_helper dropdown-item d-flex justify-content-between gap-5" data-value="'.$format.'"><span>'.$output->trans($labels[0]).'</span> <span class="text-end">'.$labels[1].'</span></a></li>';
}
$txt .= '<div class="dropdown-divider"></div>';
$txt .= '<label for="snooze_input_date" class="snooze_date_picker dropdown-item cursor-pointer">'.$output->trans('Pick a date').'</label>';
$txt .= '<li><hr class="dropdown-divider"></li>';
$txt .= '<li><label for="snooze_input_date" class="snooze_date_picker dropdown-item cursor-pointer">'.$output->trans('Pick a date').'</label>';
$txt .= '<input id="snooze_input_date" type="datetime-local" min="'.date('Y-m-d\Th:m').'" class="snooze_input_date" style="visibility: hidden; position: absolute; height: 0;">';
$txt .= '<input class="snooze_input" style="display:none;">';
$txt .= '<input class="snooze_input" style="display:none;"></li>';
if ($unsnooze) {
$txt .= '<a href="#" data-value="unsnooze" class="unsnooze snooze_helper dropdown-item"">'.$output->trans('Unsnooze').'</a>';
}
$txt .= '</div></div>';
$txt .= '</ul></div>';

return $txt;
}}
Expand Down
6 changes: 3 additions & 3 deletions modules/imap/output_modules.php
Original file line number Diff line number Diff line change
Expand Up @@ -785,13 +785,13 @@ protected function output() {
class Hm_Output_move_copy_controls extends Hm_Output_Module {
protected function output() {
if ($this->get('move_copy_controls', false)) {
$res = '<span class="ctr_divider"></span> <a class="imap_move disabled_input btn btn-sm btn-secondary" href="#" data-action="copy">'.$this->trans('Copy').'</a>';
$res = '<span class="ctr_divider"></span> <div class="d-flex gap-1 dropdown"><a class="imap_move disabled_input btn btn-sm btn-secondary" href="#" data-action="copy">'.$this->trans('Copy').'</a>';
$res .= '<a class="imap_move disabled_input btn btn-sm btn-secondary" href="#" data-action="move">'.$this->trans('Move').'</a>';
$res .= '<div class="move_to_location"></div>';
$res .= '<div class="move_to_location dropdown-menu"></div>';
$res .= '<input type="hidden" class="move_to_type" value="" />';
$res .= '<input type="hidden" class="move_to_string1" value="'.$this->trans('Move to ...').'" />';
$res .= '<input type="hidden" class="move_to_string2" value="'.$this->trans('Copy to ...').'" />';
$res .= '<input type="hidden" class="move_to_string3" value="'.$this->trans('Removed non-IMAP messages from selection. They cannot be moved or copied').'" />';
$res .= '<input type="hidden" class="move_to_string3" value="'.$this->trans('Removed non-IMAP messages from selection. They cannot be moved or copied').'" /></div>';
$this->concat('msg_controls_extra', $res);
}
}
Expand Down
6 changes: 3 additions & 3 deletions modules/imap/site.css
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
.header_links { padding-top: 10px !important; }
.overlay {position: fixed; height: 100%; width: 100%; z-index: 100; background-color: #ccc; opacity: .7; }
.account_row { cursor: pointer; }
.expand_link { display: block; width: 16px; height: 16px; float: left; margin-right: 0px; margin-left: 0px; font-size: 16px; text-align: left; }
.expand_link { margin-right: 0px; margin-left: 0px; font-size: 16px; text-align: left; }
.header_subject th { font-size: 1.3em; padding-top: 10px; }
.header_subject th div img { margin-right: 10px; margin-left: 11px; }
.msg_parts { table-layout: fixed; border-top: solid 1px #ddd; padding-top: 20px; padding-left: 20px; width: 100%; padding-bottom: 40px; }
Expand Down Expand Up @@ -56,9 +56,9 @@
.jmap_section, .sent_setting, .imap_section { display: none; }
.imap_server_setup .content_title { cursor: pointer; }
.ctr_divider { padding-left: 5px; padding-right: 5px; color: #eee; vertical-align: 2px; font-weight: normal; font-size: 90%; }
.move_to_location { text-transform: none; z-index: 50; position: absolute; display: none; background-color: #fff; padding: 10px; border: solid 1px #ede8e6; font-weight: normal; padding-right: 25px; padding-left: 0px; font-size: 80%; top: 34px; min-width: 55px; right: 2px; border-top: none; padding-top: 0px; }
.move_to_location { top: 35px; }
.move_to_location a { border: none; font-size: 100%; }
.move_to_title { padding: 5px; padding-top: 10px; padding-left: 10px; background-color: #fff; border-bottom: solid 1px #ede8e6; margin-right: -25px; }
.move_to_title { padding: 5px 10px; background-color: #fff; border-bottom: solid 1px #ede8e6; }
.move_to_title span { float: right; font-size: 90%; }
.msg_move_to .move_to_location { font-size: 100%; left: auto; right: 0px; top: 33px; font-variant: normal; }
.msg_move_to { width: auto !important; position: relative; display: inline-block; }
Expand Down
8 changes: 4 additions & 4 deletions modules/imap/site.js
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@ var expand_imap_folders = function(path) {
var detail = Hm_Utils.parse_folder_path(path, 'imap');
var list = $('.imap_'+detail.server_id+'_'+Hm_Utils.clean_selector(detail.folder), $('.email_folders'));
if ($('li', list).length === 0) {
$('.expand_link', list).html('-');
$('.expand_link', list).html('<i class="bi bi-file-minus-fill">');
if (detail) {
Hm_Ajax.request(
[{'name': 'hm_ajax_hook', 'value': 'ajax_imap_folder_expand'},
Expand All @@ -549,7 +549,7 @@ var expand_imap_folders = function(path) {
}
}
else {
$('.expand_link', list).html('+');
$('.expand_link', list).html('<i class="bi bi-plus-circle-fill">');
$('ul', list).remove();
Hm_Folders.save_folder_list();
}
Expand Down Expand Up @@ -887,7 +887,7 @@ var unselect_non_imap_messages = function() {

var imap_move_copy = function(e, action, context) {
var move_to;
if (!e.target || e.target.className == 'imap_move') {
if (!e.target || e.target.classList.contains('imap_move')) {
move_to = $('.msg_controls .move_to_location');
}
else {
Expand All @@ -907,7 +907,7 @@ var imap_move_copy = function(e, action, context) {
else {
label = $('.move_to_string2').val();
}
folders.prepend('<div class="move_to_title">'+label+'<span><a class="close_move_to" href="#">X</a></span></div>');
folders.prepend('<div class="move_to_title">'+label+'<a class="close_move_to close" href="#" aria-label="Close"><span aria-hidden="true">&times;</span></a></div>');
move_to.html(folders.html());
$('.imap_move_folder_link', move_to).on("click", function() { return expand_imap_move_to_folders($(this).data('target'), context); });
$('a', move_to).not('.imap_move_folder_link').not('.close_move_to').off('click');
Expand Down

0 comments on commit cbd3214

Please sign in to comment.