mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-25 18:19:22 +03:00
Interface redesign (attachments, new preview pane layout)
This commit is contained in:
parent
6755a0ce51
commit
e3e7c1d963
64 changed files with 1286 additions and 1009 deletions
|
|
@ -1,8 +1,18 @@
|
|||
<div class="b-attacment">
|
||||
<label data-bind="click: function () { enabled(!enabled()); }">
|
||||
<i class="checkboxAttachment" data-bind="css: enabled() ? 'checkboxMessage icon-checkbox-checked' : 'checkboxMessage icon-checkbox-unchecked'"></i>
|
||||
|
||||
<span class="name" data-bind="text: fileName"></span>
|
||||
(<span class="size" data-bind="text: friendlySize"></span>)
|
||||
</label>
|
||||
</div>
|
||||
<li class="attachmentItem clearfix" data-tooltip-placement="bottom" data-bind="attr: { 'title': title }, css: {'waiting': waiting, 'error': '' !== error()}">
|
||||
<div class="attachmentIconParent pull-left">
|
||||
<div class="iconMain">
|
||||
<i class="attachmentIcon attachmentMainIcon" data-bind="css: iconClass(), visible: !uploading() || 0 === progress()"></i>
|
||||
</div>
|
||||
<div class="iconProgress" data-bind="attr: { 'style': progressStyle }, visible: uploading"></div>
|
||||
<div class="iconBG" data-bind="text: progressText, visible: uploading"></div>
|
||||
</div>
|
||||
<div class="attachmentNameParent">
|
||||
<button type="button" class="close pull-right" style="margin-top:-4px;" data-bind="click: cancel">×</button>
|
||||
<div style="white-space: nowrap; text-overflow: ellipsis; overflow: hidden;">
|
||||
<span class="attachmentName" data-bind="text: fileName"></span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="attachmentSize" data-bind="text: friendlySize"></span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
<div class="b-attacment-in-process" data-bind="css: {'error': '' !== error(), 'uploading': uploading, 'waiting': waiting }, in18nInit: true">
|
||||
<a class="close" data-bind="click: cancel">×</a>
|
||||
<span class="uploading"><i class="icon-spinner animated"></i></span>
|
||||
<span class="namedStr">
|
||||
<span class="name" data-bind="text: fileName"></span>
|
||||
|
||||
(<span class="size" data-bind="text: friendlySize"></span>)
|
||||
<span class="upload-progress" data-bind="text: progress"></span>
|
||||
</span>
|
||||
<div class="error">
|
||||
<span data-bind="text: error"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
<!-- ko template: { name: 'PhotoSwipe' } --><!-- /ko -->
|
||||
<div id="rl-sub-right">
|
||||
<div class="messageView" data-bind="css: {'message-selected': isMessageSelected, 'message-focused': message.focused}">
|
||||
<div class="toolbar g-ui-user-select-none">
|
||||
<div class="toolbar top-toolbar g-ui-user-select-none" data-bind="visible: !usePreviewPane()">
|
||||
<nobr>
|
||||
<div class="messageButtons btn-toolbar">
|
||||
<div class="btn-group" data-tooltip-placement="bottom" data-bind="visible: !usePreviewPane(), tooltip: 'MESSAGE/BUTTON_CLOSE'">
|
||||
<div class="btn-group" data-tooltip-placement="bottom" data-bind="tooltip: 'MESSAGE/BUTTON_CLOSE'">
|
||||
<a class="btn btn-dark-disabled-border buttonClose" data-bind="command: closeMessage">
|
||||
<i class="icon-remove"></i>
|
||||
</a>
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
</div>
|
||||
</nobr>
|
||||
</div>
|
||||
<div class="b-content thm-message-view-background-color">
|
||||
<div class="b-content b-message-view-wrapper thm-message-view-background-color">
|
||||
<div>
|
||||
<div class="b-message-view-checked-helper" data-bind="visible: !message() && '' === messageError() && hasCheckedMessages()">
|
||||
<span data-bind="text: printableCheckedMessageCount()"></span>
|
||||
|
|
@ -57,124 +57,131 @@
|
|||
|
||||
<div data-bind="visible: message">
|
||||
|
||||
<div class="btn-group colored-toggle pull-right messageItemDropdown">
|
||||
<a class="btn btn-dark-disabled-border buttonReply" data-tooltip-placement="bottom"
|
||||
data-bind="command: replyCommand, tooltip: 'MESSAGE/BUTTON_REPLY'">
|
||||
<i class="icon-reply"></i>
|
||||
</a>
|
||||
<!--
|
||||
<a class="btn btn-dark-disabled-border buttonReplyAll" data-tooltip-placement="bottom"
|
||||
data-bind="command: replyAllCommand, tooltip: 'MESSAGE/BUTTON_REPLY_ALL'">
|
||||
<i class="icon-reply-all"></i>
|
||||
</a>
|
||||
<a class="btn btn-dark-disabled-border buttonForward" data-tooltip-placement="bottom"
|
||||
data-bind="command: forwardCommand, tooltip: 'MESSAGE/BUTTON_FORWARD'">
|
||||
<i class="icon-reply-all"></i>
|
||||
</a>
|
||||
-->
|
||||
<a id="more-view-dropdown-id" class="btn btn-dark-disabled-border dropdown-toggle buttonMore"
|
||||
href="#" tabindex="-1" data-toggle="dropdown" data-tooltip-placement="bottom"
|
||||
data-bind="command: messageVisibilityCommand, tooltip: 'MESSAGE/BUTTON_MORE'">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu g-ui-menu" role="menu" aria-labelledby="more-view-dropdown-id">
|
||||
<div class="message-fixed-button-toolbar clearfix">
|
||||
<div class="btn-group colored-toggle pull-right">
|
||||
<a class="btn btn-dark-disabled-border buttonReply" data-tooltip-placement="bottom"
|
||||
data-bind="command: replyCommand, tooltip: 'MESSAGE/BUTTON_REPLY'">
|
||||
<i class="icon-reply"></i>
|
||||
</a>
|
||||
<!--
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: replyCommand">
|
||||
<i class="icon-reply"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_REPLY"></span>
|
||||
</a>
|
||||
</li>
|
||||
<a class="btn btn-dark-disabled-border buttonReplyAll" data-tooltip-placement="bottom"
|
||||
data-bind="command: replyAllCommand, tooltip: 'MESSAGE/BUTTON_REPLY_ALL'">
|
||||
<i class="icon-reply-all"></i>
|
||||
</a>
|
||||
<a class="btn btn-dark-disabled-border buttonForward" data-tooltip-placement="bottom"
|
||||
data-bind="command: forwardCommand, tooltip: 'MESSAGE/BUTTON_FORWARD'">
|
||||
<i class="icon-reply-all"></i>
|
||||
</a>
|
||||
-->
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: replyAllCommand">
|
||||
<i class="icon-reply-all"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_REPLY_ALL"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: forwardCommand">
|
||||
<i class="icon-forward"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_FORWARD"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: editAsNewCommand">
|
||||
<i class="icon-pencil"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_EDIT_AS_NEW"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: forwardAsAttachmentCommand">
|
||||
<i class="icon-forward"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_FORWARD_AS_ATTACHMENT"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider" role="presentation" data-bind="visible: !isDraftFolder()"></li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane() && !isDraftFolder() && !isArchiveFolder() && !isArchiveDisabled()">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: archiveCommand">
|
||||
<i class="icon-archive"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_ARCHIVE"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane() && !isDraftFolder() && !isSentFolder() && !isSpamFolder() && !isSpamDisabled()">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: spamCommand">
|
||||
<i class="icon-angry-smiley"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_SPAM"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane() && !isDraftFolder() && !isSentFolder() && isSpamFolder() && !isSpamDisabled()">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: notSpamCommand">
|
||||
<i class="icon-happy-smiley"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_NOT_SPAM"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane()">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: deleteCommand">
|
||||
<i class="icon-trash"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_DELETE"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider" role="presentation" data-bind="visible: usePreviewPane()"></li>
|
||||
<li class="e-item" role="presentation">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="click: function () { if (message()) { message().printMessage(); }} ">
|
||||
<i class="icon-print"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/MENU_PRINT"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="click: function () { if (message()) { message().viewPopupMessage(); }}">
|
||||
<i class="icon-popup"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_IN_NEW_WINDOW"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider" role="presentation"></li>
|
||||
<li class="e-item" role="presentation">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="link: viewViewLink()">
|
||||
<i class="icon-file-code"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/MENU_VIEW_ORIGINAL"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="link: viewDownloadLink()">
|
||||
<i class="icon-download"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/MENU_DOWNLOAD_ORIGINAL"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a id="more-view-dropdown-id" class="btn btn-dark-disabled-border dropdown-toggle buttonMore"
|
||||
href="#" tabindex="-1" data-toggle="dropdown" data-tooltip-placement="bottom"
|
||||
data-bind="command: messageVisibilityCommand, tooltip: 'MESSAGE/BUTTON_MORE'">
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu g-ui-menu" role="menu" aria-labelledby="more-view-dropdown-id">
|
||||
<!--
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: replyCommand">
|
||||
<i class="icon-reply"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_REPLY"></span>
|
||||
</a>
|
||||
</li>
|
||||
-->
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: replyAllCommand">
|
||||
<i class="icon-reply-all"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_REPLY_ALL"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: forwardCommand">
|
||||
<i class="icon-forward"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_FORWARD"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: editAsNewCommand">
|
||||
<i class="icon-pencil"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_EDIT_AS_NEW"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: !isDraftFolder()">
|
||||
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="command: forwardAsAttachmentCommand">
|
||||
<i class="icon-forward"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_FORWARD_AS_ATTACHMENT"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider" role="presentation" data-bind="visible: !isDraftFolder()"></li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane() && !isDraftFolder() && !isArchiveFolder() && !isArchiveDisabled()">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: archiveCommand">
|
||||
<i class="icon-archive"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_ARCHIVE"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane() && !isDraftFolder() && !isSentFolder() && !isSpamFolder() && !isSpamDisabled()">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: spamCommand">
|
||||
<i class="icon-angry-smiley"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_SPAM"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane() && !isDraftFolder() && !isSentFolder() && isSpamFolder() && !isSpamDisabled()">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: notSpamCommand">
|
||||
<i class="icon-happy-smiley"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_NOT_SPAM"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation" data-bind="visible: usePreviewPane()">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="command: deleteCommand">
|
||||
<i class="icon-trash"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_DELETE"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider" role="presentation" data-bind="visible: usePreviewPane()"></li>
|
||||
<li class="e-item" role="presentation">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="click: function () { if (message()) { message().printMessage(); }} ">
|
||||
<i class="icon-print"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/MENU_PRINT"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="click: function () { if (message()) { message().viewPopupMessage(); }}">
|
||||
<i class="icon-popup"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/BUTTON_IN_NEW_WINDOW"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider" role="presentation"></li>
|
||||
<li class="e-item" role="presentation">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="link: viewViewLink()">
|
||||
<i class="icon-file-code"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/MENU_VIEW_ORIGINAL"></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item" role="presentation">
|
||||
<a target="_blank" class="e-link menuitem" href="#" tabindex="-1" data-bind="link: viewDownloadLink()">
|
||||
<i class="icon-download"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="MESSAGE/MENU_DOWNLOAD_ORIGINAL"></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group pull-right" data-bind="visible: isDraftFolder()" style="margin-right: 5px">
|
||||
<a class="btn btn-success buttonEdit" data-bind="command: messageEditCommand">
|
||||
<i class="icon-pencil icon-white"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="messageItem" data-bind="css: viewLineAsCcc(), nano: true">
|
||||
|
|
@ -295,7 +302,8 @@
|
|||
</div>
|
||||
<div class="attachmentsPlace" data-bind="visible: message() && message().hasVisibleAttachments()">
|
||||
<ul class="attachmentList" data-bind="foreach: message() ? message().attachments() : []">
|
||||
<li class="attachmentItem clearfix" draggable="true" data-bind="visible: !isLinked, title: fileName, event: { 'dragstart': eventDragStart }">
|
||||
<li class="attachmentItem clearfix" draggable="true" data-tooltip-placement="bottom"
|
||||
data-bind="visible: !isLinked, event: { 'dragstart': eventDragStart }, attr: { 'title': fileName }">
|
||||
<div class="attachmentIconParent pull-left" data-bind="css: { 'hasPreview': hasPreview() }">
|
||||
<div class="hidePreview">
|
||||
<div class="iconMain">
|
||||
|
|
@ -303,7 +311,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="showPreview">
|
||||
<a data-bind="css: {'attachmentImagePreview': isImage()}, attr: {'href': linkPreviewMain(), title: fileName, 'data-index': $index}">
|
||||
<a data-bind="css: {'attachmentImagePreview': isImage()}, attr: {'href': linkPreviewMain(), 'data-index': $index}" target="_blank">
|
||||
<div class="iconMain">
|
||||
<i class="attachmentIcon attachmentMainIcon" data-bind="css: iconClass()"></i>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
<div>
|
||||
<div class="b-header g-ui-user-select-none">
|
||||
<div class="g-ui-table">
|
||||
<div class="e-row">
|
||||
<div class="e-row" style="height: 40px;">
|
||||
<div class="e-cell e-label">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="COMPOSE/TITLE_FROM"></span>
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
</ul>
|
||||
<!-- /ko -->
|
||||
</div>
|
||||
<div class="btn-group dropdown colored-toggle pull-right">
|
||||
<div class="btn-group dropdown colored-toggle pull-right" style="margin-right: 4px;">
|
||||
<a class="btn dropdown-toggle buttonMore" data-toggle="dropdown">
|
||||
<i class="icon-list"></i>
|
||||
</a>
|
||||
|
|
@ -139,18 +139,33 @@
|
|||
<div class="e-row">
|
||||
<div class="e-cell e-label"></div>
|
||||
<div class="e-cell e-value">
|
||||
<div class="b-appachments pull-left" data-bind="visible: 0 < attachments().length">
|
||||
<div data-bind="template: { name: 'ComposeAttachment', foreach: attachmentsInReady }"></div>
|
||||
<div data-bind="template: { name: 'ComposeAttachmentInProcess', foreach: attachmentsInProcess }"></div>
|
||||
<span class="help-block error-desc" data-bind="visible: attachmentsInProcessError">
|
||||
<span class="i18n" data-i18n-text="COMPOSE/ATTACHMENTS_UPLOAD_ERROR_DESC"></span>
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropEnabled() && dragAndDropVisible(), initDom: composeUploaderDropPlace, css: {'dragAndDropOver': dragAndDropOver}">
|
||||
<span class="i18n" data-i18n-text="COMPOSE/ATTACH_DROP_FILES_DESC"></span>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<div class="pull-left">
|
||||
<div class="btn-group" data-toggle="buttons-radio">
|
||||
<button type="button" class="btn" data-bind="click: function () { attachmentsPlace(false); },
|
||||
css: { 'active': !attachmentsPlace() }">
|
||||
<i class="icon-file-text"></i>
|
||||
</button>
|
||||
<button type="button" class="btn" data-bind="click: function () { attachmentsPlace(true); },
|
||||
css: { 'btn-danger': 0 < attachmentsInErrorCount(), 'active': attachmentsPlace() }">
|
||||
<span data-bind="visible: 0 < attachmentsCount()">
|
||||
<b data-bind="text: attachmentsCount"></b>
|
||||
|
||||
</span>
|
||||
<i data-bind="css: { 'icon-attachment': 0 === attachmentsInProcessCount(), 'icon-spinner animated': 0 < attachmentsInProcessCount(), 'icon-white': 0 < attachmentsInErrorCount() }"></i>
|
||||
</button>
|
||||
</div>
|
||||
<span class="help-block error-desc" data-bind="visible: attachmentsInProcessError">
|
||||
<span class="i18n" data-i18n-text="COMPOSE/ATTACHMENTS_UPLOAD_ERROR_DESC"></span>
|
||||
</span>
|
||||
<span class="help-block error-desc" data-bind="visible: !attachmentsInProcessError() && attachmentsInErrorError()">
|
||||
<span class="i18n" data-i18n-text="COMPOSE/ATTACHMENTS_ERROR_DESC"></span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="pull-right" style="margin-right: 4px;">
|
||||
<div class="btn-group pull-right">
|
||||
<a class="btn" data-tooltip-placement="top" data-bind="visible: addAttachmentEnabled(), initDom: composeUploaderButton, tooltip: 'COMPOSE/ATTACH_FILES'">
|
||||
<i class="icon-attachment"></i>
|
||||
|
|
@ -169,8 +184,19 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="attachmentAreaParent b-content" style="height: 200px; min-height: 200px" data-bind="nano: true, visible: attachmentsPlace, initResizeTrigger: [resizer(), 200, 47]">
|
||||
<div class="content g-scrollbox">
|
||||
<div class="content-wrapper">
|
||||
<ul class="attachmentList" data-bind="template: { name: 'ComposeAttachment', foreach: attachments }"></ul>
|
||||
<div class="no-attachments-desc" data-bind="visible: 0 === attachments().length">
|
||||
<span class="i18n" data-i18n-text="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="textAreaParent" style="height: 200px; min-height: 200px"
|
||||
data-bind="initDom: composeEditorArea, initResizeTrigger: [resizer(), 200, 30]"></div>
|
||||
data-bind="visible: !attachmentsPlace(), initDom: composeEditorArea, initResizeTrigger: [resizer(), 200, 30]"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -38,6 +38,23 @@
|
|||
}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" style="padding-top: 0;">
|
||||
<span class="i18n" data-i18n-text="SETTINGS_GENERAL/LABEL_LAYOUT"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: layoutTypes,
|
||||
value: layout,
|
||||
trigger: layoutTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-horizontal">
|
||||
<div class="legend">
|
||||
|
|
@ -74,13 +91,6 @@
|
|||
value: useCheckboxesInList
|
||||
}
|
||||
}"></div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_GENERAL/LABEL_USE_PREVIEW_PANE',
|
||||
value: usePreviewPaneCheckbox
|
||||
}
|
||||
}"></div>
|
||||
<div data-bind="visible: threading, component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
<div class="b-system-drop-down g-ui-user-select-none">
|
||||
<div class="b-toolbar">
|
||||
<div class="btn-toolbar">
|
||||
<div class="accountPlace" data-bind="text: emailTitle()"></div>
|
||||
<div class="btn-group pull-right dropdown colored-toggle" data-bind="registrateBootstrapDropdown: true, openDropdownTrigger: accountMenuDropdownTrigger">
|
||||
<a id="top-system-dropdown-id" href="#" tabindex="-1" class="btn btn-ellipsis btn-block dropdown-toggle system-dropdown"
|
||||
data-toggle="dropdown" data-tooltip-placement="left" data-tooltip-i18n="off"
|
||||
data-tooltip-class="tooltip-big" data-bind="tooltip: emailTitle">
|
||||
|
||||
<a id="top-system-dropdown-id" href="#" tabindex="-1" class="btn btn-ellipsis btn-block dropdown-toggle system-dropdown" data-toggle="dropdown">
|
||||
<i data-bind="css: {'icon-user': !loading(), 'icon-spinner animated': loading()}"></i>
|
||||
|
||||
<span class="caret"></span>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue