diff --git a/skins/elastic/styles/widgets/lists.less b/skins/elastic/styles/widgets/lists.less index 2ceae2e11..c4a114f41 100644 --- a/skins/elastic/styles/widgets/lists.less +++ b/skins/elastic/styles/widgets/lists.less @@ -357,7 +357,7 @@ ul.treelist li { } &.root { - display: none; + display: none !important; /* FIXME: This element is confusing, I propose to not use it */ } } diff --git a/skins/elastic/ui.js b/skins/elastic/ui.js index 59016864b..53b5912d2 100644 --- a/skins/elastic/ui.js +++ b/skins/elastic/ui.js @@ -597,7 +597,8 @@ function rcube_elastic_ui() function content_frame_navigation(href, event) { // Don't display navigation for create/add action frames - if (href.match(/_action=(create|add)/)) { + // TODO: edit-folder should really be create-folder + if (href.match(/_action=(create|add)/) || (href.match(/_action=edit-folder/) && href.match(/_mbox=&/))) { if (env.frame_nav) { $(env.frame_nav).addClass('hidden'); } @@ -605,21 +606,24 @@ function rcube_elastic_ui() return; } - var uid, list = $('[data-list]', layout.list).data('list'); + var uid, list, _list = $('[data-list]', layout.list).data('list'); - if (!list || !(list = rcmail[list]) || !list.get_single_selection) { + if (!_list || !(list = rcmail[_list])) { return; } // expand collapsed row so we do not skip the whole thread + // TODO: Unified interface for list and treelist widgets if (uid = list.get_single_selection()) { - if (list.rows[uid] && !list.rows[uid].expanded) { + if (list.rows && list.rows[uid] && !list.rows[uid].expanded) { list.expand_row(event, uid); } + else if (list.get_node && list.get_node(uid).collapsed) { + list.expand(uid); + } } - // TODO: Add "message X from Y" text between buttons - // TODO: Support tree_list widget (Settings > Folders) + // TODO: Add "message X of Y" text between buttons if (!env.frame_nav) { env.frame_nav = $('