mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-01-11 01:07:39 +08:00
171 lines
No EOL
8.8 KiB
HTML
171 lines
No EOL
8.8 KiB
HTML
<div id="rl-resizer-left">
|
|
<div class="messageList g-ui-user-select-none" data-bind="css: {'message-selected': isMessageSelected, 'loading': messageListCompleteLoadingThrottle, 'hideMessageListCheckbox': !useCheckboxesInList() }">
|
|
<div class="toolbar">
|
|
<div class="btn-toolbar">
|
|
<div class="btn-group">
|
|
<a class="btn buttonReload" data-placement="bottom" data-bind="command: reloadCommand, tooltip: 'MESSAGE_LIST/BUTTON_RELOAD'">
|
|
<i class="icon-spinner-2" data-bind="css: {'animated': messageListCompleteLoadingThrottle}"></i>
|
|
</a>
|
|
</div>
|
|
<div class="btn-group"> </div>
|
|
<div class="btn-group">
|
|
<a class="btn dropdown-toggle buttonMove" data-toggle="dropdown" data-placement="bottom" data-bind="command: moveCommand, tooltip: 'MESSAGE_LIST/BUTTON_MOVE_TO'">
|
|
<i class="icon-legacyfilemanager"></i>
|
|
|
|
<span class="caret"></span>
|
|
</a>
|
|
<ul class="dropdown-menu g-ui-menu" data-bind="foreach: folderMenuForMove">
|
|
<li class="e-item" data-bind="css: { 'disable': disable }, click: function () { if (!disable) $root.moveSelectedMessagesToFolder(id); }">
|
|
<a class="e-link" data-bind="text: name"></a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="btn-group"> </div>
|
|
<div class="btn-group">
|
|
<a class="btn btn-danger buttonDelete" data-placement="bottom" data-bind="command: deleteCommand, tooltip: 'MESSAGE_LIST/BUTTON_DELETE'">
|
|
<i class="icon-trash icon-white"></i>
|
|
<span data-bind="text: 1 < messageListCheckedOrSelectedUidsWithSubMails().length ? ' (' + messageListCheckedOrSelectedUidsWithSubMails().length + ')' : ''"></span>
|
|
</a>
|
|
<span style="font-size:10px;"> </span>
|
|
<a class="btn buttonSpam" data-placement="bottom" data-bind="visible: !isSpamFolder(), command: spamCommand, tooltip: 'MESSAGE_LIST/BUTTON_SPAM'">
|
|
<i class="icon-bug"></i>
|
|
</a>
|
|
</div>
|
|
<div class="btn-group"> </div>
|
|
<div class="btn-group">
|
|
<a class="btn dropdown-toggle buttonMore" data-toggle="dropdown" data-placement="bottom" data-bind="tooltip: 'MESSAGE_LIST/BUTTON_MORE'">
|
|
<i class="icon-reorder"></i>
|
|
</a>
|
|
<ul class="dropdown-menu g-ui-menu">
|
|
<li class="e-item" data-bind="click: listUnsetSeen, css: {'disable': !hasCheckedOrSelectedLines()}">
|
|
<a class="e-link">
|
|
<i class="icon2-none"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_UNSET_SEEN"></span>
|
|
</a>
|
|
</li>
|
|
<li class="e-item" data-bind="click: listSetSeen, css: {'disable': !hasCheckedOrSelectedLines()}">
|
|
<a class="e-link">
|
|
<i class="icon2-none"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_SET_SEEN"></span>
|
|
</a>
|
|
</li>
|
|
<li class="e-item" data-bind="click: listSetFlags, css: {'disable': !hasCheckedOrSelectedLines()}">
|
|
<a class="e-link">
|
|
<i class="icon2-none"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_SET_FLAG"></span>
|
|
</a>
|
|
</li>
|
|
<li class="e-item" data-bind="click: listUnsetFlags, css: {'disable': !hasCheckedOrSelectedLines()}">
|
|
<a class="e-link">
|
|
<i class="icon2-none"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_UNSET_FLAG"></span>
|
|
</a>
|
|
</li>
|
|
<li class="e-item" data-bind="click: listSetAllSeen, css: {'disable': !hasMessages()}">
|
|
<a class="e-link">
|
|
<i class="icon2-none"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/MENU_SET_ALL_SEEN"></span>
|
|
</a>
|
|
</li>
|
|
<li class="divider"></li>
|
|
<li class="e-item" data-bind="command: multyForwardCommand">
|
|
<a class="e-link">
|
|
<i class="icon-reply-all"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/BUTTON_MULTY_FORWARD"></span>
|
|
</a>
|
|
</li>
|
|
<li class="divider"></li>
|
|
<li class="e-item" data-bind="command: deleteWithoutMoveCommand">
|
|
<a class="e-link">
|
|
<i class="icon-trash"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/BUTTON_DELETE_WITHOUT_MOVE"></span>
|
|
</a>
|
|
</li>
|
|
<li class="e-item" data-bind="command: clearCommand">
|
|
<a class="e-link">
|
|
<i class="icon-fire"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/BUTTON_EMPTY_FOLDER"></span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="b-message-list-wrapper">
|
|
<div class="second-toolbar thm-message-list-top-toolbar">
|
|
<div class="form-inline">
|
|
<div class="input-append pull-right">
|
|
<input class="i18n span4 inputSearch" type="text" tabindex="-1" placeholder="" data-i18n-placeholder="SEARCH/MAIN_INPUT_PLACEHOLDER" data-bind="value: inputProxyMessageListSearch, onEnter: searchEnterAction, hasfocus: inputMessageListSearchFocus" />
|
|
<a class="btn buttonMoreSearch" data-bind="click: advancedSearchClick">
|
|
<span class="caret"></span>
|
|
</a>
|
|
</div>
|
|
<i class="checkboxCkeckAll" data-bind="css: checkAll() ? (isIncompleteChecked() ? 'icon-checkbox-partial' : 'icon-checkbox-checked') : 'icon-checkbox-unchecked'"></i>
|
|
<!--
|
|
<i class="checkboxCkeckAll" data-bind="css: checkAll() ? (isIncompleteChecked() ? 'icon-checkbox-partial' : 'icon-checkbox-checked') : 'icon-checkbox-unchecked', visible: !messageListCompleteLoadingThrottle()"></i>
|
|
<i class="icon-spinner-2 animated" style="margin-top: 4px;" data-bind="visible: messageListCompleteLoadingThrottle"></i>
|
|
-->
|
|
</div>
|
|
</div>
|
|
<div class="mainDelimiter toolbarDelimiter"></div>
|
|
<div class="b-content" data-bind="nano: true, initDom: dragOverBodyArea">
|
|
<div class="content g-scrollbox">
|
|
<div class="content-wrapper">
|
|
<div class="listSearchDesc" data-bind="visible: '' !== messageListSearchDesc()">
|
|
<a class="btn btn-small pull-right searchCancelButton" data-bind="click: cancelSearch">
|
|
<i class="icon-remove"></i>
|
|
</a>
|
|
<span data-bind="text: messageListSearchDesc"></span>:
|
|
</div>
|
|
<div class="listDragOver" data-bind="css: {'viewAppendArea': dragOver() && '' === messageListError() && !popupVisibility(), 'dragOverEnter': dragOverEnter }, initDom: dragOverArea">
|
|
<i class="icon-arrow-down-2 e-icon"></i>
|
|
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/PUT_MESSAGE_HERE"></span>
|
|
</div>
|
|
<div class="listClear" data-bind="visible: '' === messageListSearchDesc() && '' === messageListError() && 0 < messageList().length && (isSpamFolder() || isTrashFolder())">
|
|
<span class="g-ui-link i18n" data-i18n-text="MESSAGE_LIST/BUTTON_EMPTY_FOLDER" data-bind="command: clearCommand"></span>
|
|
</div>
|
|
<div class="listError" data-bind="visible: !dragOver() && '' !== messageListError()">
|
|
<span class="error" data-bind="text: messageListError"></span>
|
|
</div>
|
|
<div class="listEmptyList" data-bind="visible: !dragOver() && 0 === messageList().length && !messageListCompleteLoadingThrottle() && '' === messageListError() && '' === messageListSearch()">
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/EMPTY_LIST"></span>
|
|
</div>
|
|
<div class="listEmptyListLoading" data-bind="visible: !dragOver() && 0 === messageList().length &&
|
|
messageListCompleteLoadingThrottle() && '' === messageListError()">
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/LIST_LOADING"></span><span class="textLoadingAnimationD1">.</span><span class="textLoadingAnimationD2">.</span><span class="textLoadingAnimationD3">.</span>
|
|
</div>
|
|
<div class="listEmptySearchList" data-bind="visible: !dragOver() && 0 === messageList().length && !messageListCompleteLoadingThrottle() && '' === messageListError() && '' !== messageListSearch()">
|
|
<span class="i18n" data-i18n-text="MESSAGE_LIST/EMPTY_SEARCH_LIST"></span>
|
|
</div>
|
|
<div data-bind="draggable: dragAndDronHelper, droppableSelector: '.b-folders .content.g-scrollbox'">
|
|
<div class="messageListPlace" data-bind="template: { name: messageListItemTemplate(), foreach: messageList }"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mainDelimiter footerDelimiter"></div>
|
|
<div class="b-footer thm-message-list-bottom-toolbar">
|
|
<!--
|
|
<a class="btn buttonReload" data-placement="right" data-bind="command: reloadCommand, tooltip: 'MESSAGE_LIST/BUTTON_RELOAD'">
|
|
<i class="icon-spinner-2" data-bind="css: {'animated': messageListCompleteLoadingThrottle}"></i>
|
|
</a>
|
|
-->
|
|
<span data-bind="visible: 0 < userUsageProc(), tooltip2: quotaTooltip" class="e-quota">
|
|
<span data-bind="text: userUsageProc"></span>%
|
|
</span>
|
|
<div class="pull-right">
|
|
<!-- ko template: { name: 'Pagenator', data: messageListPagenator } --><!-- /ko -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |